From be6faec6d07fc3a2a54836e76d0309c36192dfad Mon Sep 17 00:00:00 2001 From: fenner Date: Tue, 13 Jan 2004 17:28:59 +0000 Subject: Commit vendor update for vulnerabilities found by Jonathan Heusser --- contrib/tcpdump/print-isakmp.c | 8 ++++++++ contrib/tcpdump/print-radius.c | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'contrib/tcpdump') diff --git a/contrib/tcpdump/print-isakmp.c b/contrib/tcpdump/print-isakmp.c index 6e5c58d..d00d575 100644 --- a/contrib/tcpdump/print-isakmp.c +++ b/contrib/tcpdump/print-isakmp.c @@ -332,9 +332,13 @@ rawprint(caddr_t loc, size_t len) static u_char *p; int i; + TCHECK2(*loc, len); + p = (u_char *)loc; for (i = 0; i < len; i++) printf("%02x", p[i] & 0xff); +trunc: + } struct attrmap { @@ -1060,6 +1064,8 @@ isakmp_sub_print(u_char np, struct isakmp_gen *ext, u_char *ep, cp = (u_char *)ext; while (np) { + TCHECK2(*ext, sizeof(e)); + safememcpy(&e, ext, sizeof(e)); if (ep < (u_char *)ext + ntohs(e.len)) { @@ -1085,6 +1091,8 @@ isakmp_sub_print(u_char np, struct isakmp_gen *ext, u_char *ep, ext = (struct isakmp_gen *)cp; } return cp; +trunc: + return NULL; } static char * diff --git a/contrib/tcpdump/print-radius.c b/contrib/tcpdump/print-radius.c index 9ec4066..72cf22e 100644 --- a/contrib/tcpdump/print-radius.c +++ b/contrib/tcpdump/print-radius.c @@ -473,7 +473,7 @@ print_attr_string(register u_char *data, u_int length, u_short attr_code ) break; } - for (i=0; i < length ; i++, data++) + for (i=0; *data && i < length ; i++, data++) printf("%c",(*data < 32 || *data > 128) ? '.' : *data ); printf("}"); -- cgit v1.1