Author: truckman
Date: Fri May 20 07:00:11 2016
New Revision: 300281
URL: https://svnweb.freebsd.org/changeset/base/300281

Log:
  MFC r299867
  
  Use strlcpy() instead of strncpy() when copying ifname to ensure
  that it is NUL terminated.  Additional NUL padding is not required
  for short names.
  
  Reported by:  Coverity
  CID:          974860, 1009972, 1009973

Modified:
  stable/10/usr.sbin/rtadvd/config.c
  stable/10/usr.sbin/rtadvd/if.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/usr.sbin/rtadvd/config.c
==============================================================================
--- stable/10/usr.sbin/rtadvd/config.c  Fri May 20 06:59:38 2016        
(r300280)
+++ stable/10/usr.sbin/rtadvd/config.c  Fri May 20 07:00:11 2016        
(r300281)
@@ -634,7 +634,7 @@ getconfig_free_pfx:
                        exit(1);
                }
                memset(&ndi, 0, sizeof(ndi));
-               strncpy(ndi.ifname, ifi->ifi_ifname, sizeof(ndi.ifname));
+               strlcpy(ndi.ifname, ifi->ifi_ifname, sizeof(ndi.ifname));
                if (ioctl(s, SIOCGIFINFO_IN6, (caddr_t)&ndi) < 0)
                        syslog(LOG_INFO, "<%s> ioctl:SIOCGIFINFO_IN6 at %s: %s",
                            __func__, ifi->ifi_ifname, strerror(errno));

Modified: stable/10/usr.sbin/rtadvd/if.c
==============================================================================
--- stable/10/usr.sbin/rtadvd/if.c      Fri May 20 06:59:38 2016        
(r300280)
+++ stable/10/usr.sbin/rtadvd/if.c      Fri May 20 07:00:11 2016        
(r300281)
@@ -388,7 +388,7 @@ update_ifinfo_nd_flags(struct ifinfo *if
        }
        /* ND flags */
        memset(&nd, 0, sizeof(nd));
-       strncpy(nd.ifname, ifi->ifi_ifname,
+       strlcpy(nd.ifname, ifi->ifi_ifname,
            sizeof(nd.ifname));
        error = ioctl(s, SIOCGIFINFO_IN6, (caddr_t)&nd);
        if (error) {
@@ -517,7 +517,7 @@ update_ifinfo(struct ifilist_head_t *ifi
                        if (ifi->ifi_phymtu == 0) {
                                memset(&ifr, 0, sizeof(ifr));
                                ifr.ifr_addr.sa_family = AF_INET6;
-                               strncpy(ifr.ifr_name, ifi->ifi_ifname,
+                               strlcpy(ifr.ifr_name, ifi->ifi_ifname,
                                    sizeof(ifr.ifr_name));
                                error = ioctl(s, SIOCGIFMTU, (caddr_t)&ifr);
                                if (error) {
_______________________________________________
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