X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/8787c14f15b93c58c05581e5de5085414561eeeb..05ec05a87b3a7c6983a16b5ae62d0f1512c4ce89:/print-telnet.c diff --git a/print-telnet.c b/print-telnet.c index 5af97c2c..4911e5ca 100644 --- a/print-telnet.c +++ b/print-telnet.c @@ -37,11 +37,11 @@ */ /* * @(#)Copyright (c) 1994, Simon J. Gerraty. - * + * * This is free software. It comes with NO WARRANTY. - * Permission to use, modify and distribute this source code + * Permission to use, modify and distribute this source code * is granted subject to the following conditions. - * 1/ that the above copyright notice and this notice + * 1/ that the above copyright notice and this notice * are preserved in all copies. */ @@ -50,20 +50,14 @@ #endif #ifndef lint -static const char rcsid[] = - "@(#) $Header: /tcpdump/master/tcpdump/print-telnet.c,v 1.18 2001-09-10 06:40:08 fenner Exp $"; +static const char rcsid[] _U_ = + "@(#) $Header: /tcpdump/master/tcpdump/print-telnet.c,v 1.24 2003-12-29 11:05:10 hannes Exp $"; #endif -#include -#include -#include -#include - -#include +#include #include #include -#include #include #include "interface.h" @@ -115,7 +109,8 @@ numstr(int x) static int telnet_parse(const u_char *sp, u_int length, int print) { - int i, c, x; + int i, x; + u_int c; const u_char *osp, *p; #define FETCH(c, sp, length) \ do { \ @@ -161,7 +156,7 @@ telnet_parse(const u_char *sp, u_int length, int print) break; /* IAC SB .... IAC SE */ p = sp; - while (length > p + 1 - sp) { + while (length > (u_int)(p + 1 - sp)) { if (p[0] == IAC && p[1] == SE) break; p++; @@ -237,7 +232,7 @@ telnet_print(const u_char *sp, u_int length) int l; osp = sp; - + while (length > 0 && *sp == IAC) { l = telnet_parse(sp, length, 0); if (l < 0) @@ -249,7 +244,7 @@ telnet_print(const u_char *sp, u_int length) if (Xflag && 2 < vflag) { if (first) printf("\nTelnet:"); - hex_print_with_offset(sp, l, sp - osp); + hex_print_with_offset("\n", sp, l, sp - osp); if (l > 8) printf("\n\t\t\t\t"); else