summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/route.c
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>1997-12-17 00:19:25 +0000
committerbrian <brian@FreeBSD.org>1997-12-17 00:19:25 +0000
commit7328b8cd51418a040e797d192d46f98defddfa26 (patch)
tree0a18bc03a9a62362ca04408048ac58b1e0b45589 /usr.sbin/ppp/route.c
parent8c80194b9d8bf000af9cdff865b70d73125186e3 (diff)
downloadFreeBSD-src-7328b8cd51418a040e797d192d46f98defddfa26.zip
FreeBSD-src-7328b8cd51418a040e797d192d46f98defddfa26.tar.gz
Fix a potential overflow where, if the label passed on the command
line is > LINE_LEN (512 bytes), we scribble (*blush*). Hinted at by: Theo de Raadt <deraadt@cvs.openbsd.org> Change sprintf(buf, "fixedstring") to strcpy(buf, "fixedstring").
Diffstat (limited to 'usr.sbin/ppp/route.c')
-rw-r--r--usr.sbin/ppp/route.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/ppp/route.c b/usr.sbin/ppp/route.c
index 8a05b0e..df8f1f7 100644
--- a/usr.sbin/ppp/route.c
+++ b/usr.sbin/ppp/route.c
@@ -17,7 +17,7 @@
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * $Id: route.c,v 1.31 1997/12/13 02:37:32 brian Exp $
+ * $Id: route.c,v 1.32 1997/12/15 20:21:15 brian Exp $
*
*/
@@ -202,7 +202,7 @@ p_sockaddr(struct sockaddr *phost, struct sockaddr *pmask, int width)
break;
net.sin_addr.s_addr = ihost->sin_addr.s_addr & mask->sin_addr.s_addr;
- sprintf(buf, "%s", inet_ntoa(net.sin_addr));
+ strcpy(buf, inet_ntoa(net.sin_addr));
for (len = strlen(buf); len > 3; buf[len-=2] = '\0')
if (strcmp(buf+len-2, ".0"))
break;
@@ -228,7 +228,7 @@ p_sockaddr(struct sockaddr *phost, struct sockaddr *pmask, int width)
sprintf(buf+f*3, "%02x:", MAC[f]);
buf[f*3-1] = '\0';
} else
- sprintf(buf, "??:??:??:??:??:??");
+ strcpy(buf, "??:??:??:??:??:??");
else
sprintf(buf, "<IFT type %d>", dl->sdl_type);
else if (dl->sdl_slen)
OpenPOWER on IntegriCloud