changeset 2452:191d774c7b20 draft

Fix some potential memory errors.
author Roy Marples <roy@marples.name>
date Wed, 30 Apr 2014 10:02:20 +0000
parents 728116e38471
children 89e99fec4757
files if-bsd.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/if-bsd.c	Wed Apr 30 09:50:00 2014 +0000
+++ b/if-bsd.c	Wed Apr 30 10:02:20 2014 +0000
@@ -244,6 +244,7 @@
 
 	state = D_STATE(ifp);
 
+	memset(&pv, 0, sizeof(pv));
 	if (ioctl(fd, BIOCVERSION, &pv) == -1)
 		goto eexit;
 	if (pv.bv_major != BPF_MAJOR_VERSION ||
@@ -277,6 +278,7 @@
 #endif
 
 	/* Install the DHCP filter */
+	memset(&pf, 0, sizeof(pf));
 	if (protocol == ETHERTYPE_ARP) {
 		pf.bf_insns = UNCONST(arp_bpf_filter);
 		pf.bf_len = arp_bpf_filter_len;
@@ -434,7 +436,7 @@
 	struct rtm
 	{
 		struct rt_msghdr hdr;
-		char buffer[sizeof(su) * 4];
+		char buffer[sizeof(su) * 5];
 	} rtm;
 	char *bp = rtm.buffer;
 	size_t l;
@@ -588,7 +590,7 @@
 	struct rtm
 	{
 		struct rt_msghdr hdr;
-		char buffer[sizeof(su) * 4];
+		char buffer[sizeof(su) * 5];
 	} rtm;
 	char *bp = rtm.buffer;
 	size_t l;