X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/ab9f1243f9579f7fe8b6eec6941979d4e1ed2aff..f5c79aedbe9c52dad10a196d805718f55a2be17a:/print-telnet.c diff --git a/print-telnet.c b/print-telnet.c index 1e500de2..67aa666e 100644 --- a/print-telnet.c +++ b/print-telnet.c @@ -49,41 +49,30 @@ #include "config.h" #endif -#ifdef HAVE_SYS_CDEFS_H -#include -#endif -#if 0 #ifndef lint -__RCSID("$NetBSD: print-telnet.c,v 1.2 1999/10/11 12:40:12 sjg Exp $"); -#endif +static const char rcsid[] = + "@(#) $Header: /tcpdump/master/tcpdump/print-telnet.c,v 1.12 2000-09-29 04:58:51 guy Exp $"; #endif #include #include #include +#include #include -#include -#include -#include -#include -#include #define TELCMDS #define TELOPTS #include #include -#ifdef __STDC__ #include -#endif #include #include #include "interface.h" #include "addrtoname.h" - #ifndef TELCMD_FIRST # define TELCMD_FIRST SE #endif @@ -132,15 +121,16 @@ telnet_print(register const u_char *sp, u_int length) x = *sp++; /* option */ length--; if (x >= 0 && x < NTELOPTS) { - (void)sprintf(tnet, "%s %s", - telcmds[i], telopts[x]); + (void)snprintf(tnet, sizeof(tnet), + "%s %s", telcmds[i], telopts[x]); } else { - (void)sprintf(tnet, "%s %#x", - telcmds[i], x); + (void)snprintf(tnet, sizeof(tnet), + "%s %#x", telcmds[i], x); } break; default: - (void)strcpy(tnet, telcmds[i]); + (void)snprintf(tnet, sizeof(tnet), "%s", + telcmds[i]); } if (c == SB) { c = *sp++; @@ -178,11 +168,13 @@ telnet_print(register const u_char *sp, u_int length) hex_print_with_offset(osp, i, off); off += i; if (i > 8) - printf("\n\t\t\t\t%s", tnet); + printf("\n\t\t\t\t"); else - printf("%*s\t%s", (8 - i) * 3, "", tnet); + printf("%*s\t", (8 - i) * 3, ""); + safeputs(tnet); } else { - printf("%s%s", (first) ? " [telnet " : ", ", tnet); + printf("%s", (first) ? " [telnet " : ", "); + safeputs(tnet); } first = 0; }