]> The Tcpdump Group git mirrors - tcpdump/commitdiff
fix ascii dump with -X. due to mistake in snprintf() fixes.
authoritojun <itojun>
Sat, 29 Jan 2000 16:47:46 +0000 (16:47 +0000)
committeritojun <itojun>
Sat, 29 Jan 2000 16:47:46 +0000 (16:47 +0000)
(no need to pull into 3.5)

print-ascii.c

index a97faf7767c2f713839a8a3c93a92ff7d4e2d8b9..c8f65fd3fb4f51f42baae23d20c4b680e14d1c0b 100644 (file)
@@ -42,7 +42,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-     "@(#) $Header: /tcpdump/master/tcpdump/print-ascii.c,v 1.5 2000-01-17 06:24:24 itojun 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)snprintf(hsp, sizeof(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)snprintf(hsp, sizeof(hsp), " %02x", s1);
+               (void)snprintf(hsp, sizeof(hexstuff) - (hsp - hexstuff),
+                   " %02x", s1);
                hsp += 3;
                *(asp++) = (isgraph(s1) ? s1 : '.');
                ++i;