8b41d83
diff -up dhcp-3.0.6/minires/ns_name.c.memory dhcp-3.0.6/minires/ns_name.c
8b41d83
--- dhcp-3.0.6/minires/ns_name.c.memory	2004-06-10 13:59:40.000000000 -0400
8b41d83
+++ dhcp-3.0.6/minires/ns_name.c	2007-07-10 11:43:29.000000000 -0400
8b41d83
@@ -71,6 +71,11 @@ ns_name_ntop(const u_char *src, char *ds
8b41d83
 	dn = dst;
8b41d83
 	eom = dst + dstsiz;
8b41d83
 
8b41d83
+	if (dn >= eom) {
8b41d83
+		errno = EMSGSIZE;
8b41d83
+		return (-1);
8b41d83
+	}
8b41d83
+
8b41d83
 	while ((n = *cp++) != 0) {
8b41d83
 		if ((n & NS_CMPRSFLGS) != 0) {
8b41d83
 			/* Some kind of compression pointer. */
8b41d83
diff -up dhcp-3.0.6/common/packet.c.memory dhcp-3.0.6/common/packet.c
8b41d83
--- dhcp-3.0.6/common/packet.c.memory	2007-05-01 16:42:55.000000000 -0400
8b41d83
+++ dhcp-3.0.6/common/packet.c	2007-07-10 11:43:29.000000000 -0400
8b41d83
@@ -140,6 +140,7 @@ void assemble_udp_ip_header (interface, 
8b41d83
 	struct ip ip;
8b41d83
 	struct udphdr udp;
8b41d83
 
8b41d83
+	memset( &ip, '\0', sizeof ip);
8b41d83
 	/* Fill out the IP header */
8b41d83
 	IP_V_SET (&ip, 4);
8b41d83
 	IP_HL_SET (&ip, 20);
8b41d83
diff -up dhcp-3.0.6/common/lpf.c.memory dhcp-3.0.6/common/lpf.c
8b41d83
--- dhcp-3.0.6/common/lpf.c.memory	2007-07-10 11:43:29.000000000 -0400
8b41d83
+++ dhcp-3.0.6/common/lpf.c	2007-07-10 11:43:29.000000000 -0400
8b41d83
@@ -246,6 +246,7 @@ static void lpf_tr_filter_setup (info)
8b41d83
 	struct interface_info *info;
8b41d83
 {
8b41d83
 	struct sock_fprog p;
8b41d83
+	memset(&p,'\0', sizeof(struct sock_fprog));
8b41d83
 
8b41d83
 	/* Set up the bpf filter program structure.    This is defined in
8b41d83
 	   bpf.c */