From: fenner Date: Mon, 12 Nov 2001 21:59:44 +0000 (+0000) Subject: Zero out IPv6 mask before using it. This fixes expressions like X-Git-Tag: libpcap-0.7.1~22 X-Git-Url: https://git.tcpdump.org/libpcap/commitdiff_plain/1c20fa1fee9f2a824fb9ba3e4d0c25ee268a3f70 Zero out IPv6 mask before using it. This fixes expressions like 'net 2002::/16', which were previously non-deterministic based on the previous contents of memory. Reported by: Pekka Savola --- diff --git a/gencode.c b/gencode.c index cc93e2f8..b1b303ed 100644 --- a/gencode.c +++ b/gencode.c @@ -21,7 +21,7 @@ */ #ifndef lint static const char rcsid[] = - "@(#) $Header: /tcpdump/master/libpcap/gencode.c,v 1.158 2001-09-20 00:24:24 fenner Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/libpcap/gencode.c,v 1.159 2001-11-12 21:59:44 fenner Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -3265,6 +3265,7 @@ gen_mcode6(s1, s2, masklen, q) if (sizeof(mask) * 8 < masklen) bpf_error("mask length must be <= %u", (unsigned int)(sizeof(mask) * 8)); + memset(&mask, 0, sizeof(mask)); memset(&mask, 0xff, masklen / 8); if (masklen % 8) { mask.s6_addr[masklen / 8] =