Author: brooks
Date: Sun Apr  8 17:23:33 2018
New Revision: 332295
URL: https://svnweb.freebsd.org/changeset/base/332295

Log:
  MFC r332087:
  
  ifconf(): Always zero the whole struct ifreq.
  
  The previous split of zeroing ifr_name and ifr_addr seperately is safe
  on current architectures, but would be unsafe if pointers were larger
  than 8 bytes. Combining the zeroing adds no real cost (a few
  instructions) and makes the security property easier to verify.
  
  Reviewed by:  kib, emaste
  Obtained from:        CheriBSD
  Sponsored by: DARPA, AFRL
  Differential Revision:        https://reviews.freebsd.org/D14912

Modified:
  stable/10/sys/net/if.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/net/if.c
==============================================================================
--- stable/10/sys/net/if.c      Sun Apr  8 17:18:51 2018        (r332294)
+++ stable/10/sys/net/if.c      Sun Apr  8 17:23:33 2018        (r332295)
@@ -3024,10 +3024,10 @@ again:
                int addrs;
 
                /*
-                * Zero the ifr_name buffer to make sure we don't
-                * disclose the contents of the stack.
+                * Zero the ifr to make sure we don't disclose the contents
+                * of the stack.
                 */
-               memset(ifr.ifr_name, 0, sizeof(ifr.ifr_name));
+               memset(&ifr, 0, sizeof(ifr));
 
                if (strlcpy(ifr.ifr_name, ifp->if_xname, sizeof(ifr.ifr_name))
                    >= sizeof(ifr.ifr_name)) {
@@ -3071,7 +3071,6 @@ again:
                }
                IF_ADDR_RUNLOCK(ifp);
                if (addrs == 0) {
-                       bzero((caddr_t)&ifr.ifr_addr, sizeof(ifr.ifr_addr));
                        sbuf_bcat(sb, &ifr, sizeof(ifr));
                        max_len += sizeof(ifr);
 
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to