Module Name:    src
Committed By:   mrg
Date:           Sun Sep  6 08:15:04 UTC 2020

Modified Files:
        src/external/bsd/ppp/usr.sbin/pppd: sys-bsd.c

Log Message:
use struct zero initialiser and avoid calling memset() on a pointer
of the wrong size.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/bsd/ppp/usr.sbin/pppd/sys-bsd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/ppp/usr.sbin/pppd/sys-bsd.c
diff -u src/external/bsd/ppp/usr.sbin/pppd/sys-bsd.c:1.6 src/external/bsd/ppp/usr.sbin/pppd/sys-bsd.c:1.7
--- src/external/bsd/ppp/usr.sbin/pppd/sys-bsd.c:1.6	Fri Oct  4 09:01:59 2019
+++ src/external/bsd/ppp/usr.sbin/pppd/sys-bsd.c	Sun Sep  6 08:15:04 2020
@@ -1879,10 +1879,10 @@ get_if_hwaddr(u_char *addr, char *name)
 
 #define IFREQ_SAFE (sizeof(struct ifreq) + sizeof(struct sockaddr_dl))
     /* XXX sockaddr_dl is larger than the sockaddr in struct ifreq! */
-    union {			/* XXX */
-    	struct ifreq _ifreq;	/* XXX */
-	char _X[IFREQ_SAFE]; 	/* XXX */
-    } _ifreq_dontsmashstack;	/* XXX */
+    union {				/* XXX */
+    	struct ifreq _ifreq;		/* XXX */
+	char _X[IFREQ_SAFE]; 		/* XXX */
+    } _ifreq_dontsmashstack = {0};	/* XXX */
 #define ifreq_xxx _ifreq_dontsmashstack._ifreq			/* XXX */
 
     struct sockaddr_dl *sdl = (struct sockaddr_dl *) &ifreq_xxx.ifr_addr;
@@ -1890,7 +1890,6 @@ get_if_hwaddr(u_char *addr, char *name)
 
     if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
 	return 0;
-    (void)memset(sdl, 0, sizeof(*sdl));
     sdl->sdl_family = AF_LINK;
     (void)strlcpy(ifreq_xxx.ifr_name, name, sizeof(ifreq_xxx.ifr_name));
     if (ioctl(fd, SIOCGIFADDR, &ifreq_xxx) == -1) {

Reply via email to