[rtems-libbsd commit] pppd: Fix use of uninitialized stack variables

Sebastian Huber sebh at rtems.org
Tue Oct 23 05:45:01 UTC 2018


Module:    rtems-libbsd
Branch:    master
Commit:    1aeb727bd259825ce3cabdfc03a398c3f6344391
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=1aeb727bd259825ce3cabdfc03a398c3f6344391

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Oct 23 07:37:11 2018 +0200

pppd: Fix use of uninitialized stack variables

---

 rtemsbsd/pppd/sys-rtems.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/rtemsbsd/pppd/sys-rtems.c b/rtemsbsd/pppd/sys-rtems.c
index 3e2fbb6..295972f 100644
--- a/rtemsbsd/pppd/sys-rtems.c
+++ b/rtemsbsd/pppd/sys-rtems.c
@@ -880,6 +880,7 @@ sifaddr(
     struct ifaliasreq ifra;
     struct ifreq ifr;
 
+    BZERO(&ifra, sizeof(ifra));
     strlcpy(ifra.ifra_name, ifname, sizeof(ifra.ifra_name));
     SET_SA_FAMILY(ifra.ifra_addr, AF_INET);
     ((struct sockaddr_in *) &ifra.ifra_addr)->sin_addr.s_addr = o;
@@ -888,8 +889,7 @@ sifaddr(
     if (m != 0) {
 	SET_SA_FAMILY(ifra.ifra_mask, AF_INET);
 	((struct sockaddr_in *) &ifra.ifra_mask)->sin_addr.s_addr = m;
-    } else
-	BZERO(&ifra.ifra_mask, sizeof(ifra.ifra_mask));
+    }
     BZERO(&ifr, sizeof(ifr));
     strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
     if (ioctl(sockfd, SIOCDIFADDR, (caddr_t) &ifr) < 0) {
@@ -920,12 +920,12 @@ cifaddr(
     struct ifaliasreq ifra;
 
     ifaddrs[0] = 0;
+    BZERO(&ifra, sizeof(ifra));
     strlcpy(ifra.ifra_name, ifname, sizeof(ifra.ifra_name));
     SET_SA_FAMILY(ifra.ifra_addr, AF_INET);
     ((struct sockaddr_in *) &ifra.ifra_addr)->sin_addr.s_addr = o;
     SET_SA_FAMILY(ifra.ifra_broadaddr, AF_INET);
     ((struct sockaddr_in *) &ifra.ifra_broadaddr)->sin_addr.s_addr = h;
-    BZERO(&ifra.ifra_mask, sizeof(ifra.ifra_mask));
     if (ioctl(sockfd, SIOCDIFADDR, (caddr_t) &ifra) < 0) {
 	if (errno != EADDRNOTAVAIL)
 	    warn("Couldn't delete interface address: %m");




More information about the vc mailing list