3161ff3
diff -up dhcp-4.1.0/common/lpf.c.memory dhcp-4.1.0/common/lpf.c
3161ff3
--- dhcp-4.1.0/common/lpf.c.memory	2008-03-18 08:28:14.000000000 -1000
3161ff3
+++ dhcp-4.1.0/common/lpf.c	2009-01-06 07:57:54.000000000 -1000
3161ff3
@@ -247,6 +247,7 @@ static void lpf_tr_filter_setup (info)
4f14cb7
 	struct interface_info *info;
4f14cb7
 {
4f14cb7
 	struct sock_fprog p;
4f14cb7
+	memset(&p,'\0', sizeof(struct sock_fprog));
4f14cb7
 
4f14cb7
 	/* Set up the bpf filter program structure.    This is defined in
4f14cb7
 	   bpf.c */
3161ff3
diff -up dhcp-4.1.0/common/packet.c.memory dhcp-4.1.0/common/packet.c
3161ff3
--- dhcp-4.1.0/common/packet.c.memory	2007-11-30 11:51:43.000000000 -1000
3161ff3
+++ dhcp-4.1.0/common/packet.c	2009-01-06 07:57:54.000000000 -1000
4f14cb7
@@ -135,6 +135,7 @@ void assemble_udp_ip_header (interface, 
4f14cb7
 	struct ip ip;
4f14cb7
 	struct udphdr udp;
4f14cb7
 
4f14cb7
+	memset( &ip, '\0', sizeof ip);
4f14cb7
 	/* Fill out the IP header */
4f14cb7
 	IP_V_SET (&ip, 4);
4f14cb7
 	IP_HL_SET (&ip, 20);
3161ff3
diff -up dhcp-4.1.0/minires/ns_name.c.memory dhcp-4.1.0/minires/ns_name.c
3161ff3
--- dhcp-4.1.0/minires/ns_name.c.memory	2005-03-17 10:15:17.000000000 -1000
3161ff3
+++ dhcp-4.1.0/minires/ns_name.c	2009-01-06 07:57:54.000000000 -1000
9858513
@@ -71,6 +71,11 @@ ns_name_ntop(const u_char *src, char *ds
9858513
 	dn = dst;
9858513
 	eom = dst + dstsiz;
9858513
 
9858513
+	if (dn >= eom) {
9858513
+		errno = EMSGSIZE;
9858513
+		return (-1);
9858513
+	}
9858513
+
9858513
 	while ((n = *cp++) != 0) {
9858513
 		if ((n & NS_CMPRSFLGS) != 0) {
9858513
 			/* Some kind of compression pointer. */