diff options
author | Brian Somers <brian@FreeBSD.org> | 1997-12-17 00:19:25 +0000 |
---|---|---|
committer | Brian Somers <brian@FreeBSD.org> | 1997-12-17 00:19:25 +0000 |
commit | 83c0952d1ce8d50697b4d1541165c7d6b1513665 (patch) | |
tree | bbfa95e93aa2817d58cbb808a60da0d672449909 /usr.sbin/ppp/route.c | |
parent | f41991ba105832e945c94e7e303a4a00533ab4bc (diff) | |
download | src-83c0952d1ce8d50697b4d1541165c7d6b1513665.tar.gz src-83c0952d1ce8d50697b4d1541165c7d6b1513665.zip |
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").
Notes
Notes:
svn path=/head/; revision=31791
Diffstat (limited to 'usr.sbin/ppp/route.c')
-rw-r--r-- | usr.sbin/ppp/route.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/ppp/route.c b/usr.sbin/ppp/route.c index 8a05b0e42949..df8f1f7c591d 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) |