diff options
Diffstat (limited to 'contrib/tcpdump/print-ascii.c')
-rw-r--r-- | contrib/tcpdump/print-ascii.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/contrib/tcpdump/print-ascii.c b/contrib/tcpdump/print-ascii.c index 29f57b8..8c086d2 100644 --- a/contrib/tcpdump/print-ascii.c +++ b/contrib/tcpdump/print-ascii.c @@ -42,7 +42,7 @@ #ifndef lint static const char rcsid[] = - "@(#) $Header: /tcpdump/master/tcpdump/print-ascii.c,v 1.2.2.2 2000/01/11 06:58:23 fenner Exp $"; + "@(#) $Header: /tcpdump/master/tcpdump/print-ascii.c,v 1.6 2000/01/29 16:47:46 itojun Exp $"; #endif #include <stdio.h> #include <sys/types.h> @@ -72,7 +72,8 @@ ascii_print_with_offset(register const u_char *cp, register u_int length, while (--nshorts >= 0) { s1 = *cp++; s2 = *cp++; - (void)sprintf(hsp, " %02x%02x", s1, s2); + (void)snprintf(hsp, sizeof(hexstuff) - (hsp - hexstuff), + " %02x%02x", s1, s2); hsp += HEXDUMP_HEXSTUFF_PER_SHORT; *(asp++) = (isgraph(s1) ? s1 : '.'); *(asp++) = (isgraph(s2) ? s2 : '.'); @@ -87,7 +88,8 @@ ascii_print_with_offset(register const u_char *cp, register u_int length, } if (length & 1) { s1 = *cp++; - (void)sprintf(hsp, " %02x", s1); + (void)snprintf(hsp, sizeof(hexstuff) - (hsp - hexstuff), + " %02x", s1); hsp += 3; *(asp++) = (isgraph(s1) ? s1 : '.'); ++i; |