summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortruckman <truckman@FreeBSD.org>2016-05-20 07:00:11 +0000
committertruckman <truckman@FreeBSD.org>2016-05-20 07:00:11 +0000
commit4597c47c8b031e66fdecf9be5ab02e94150345e6 (patch)
tree29c42c1f6ecd086d4da12ef4266b3f0cb38a5779
parentda24c7987e35b6208d9d89babc94b8fcd8345813 (diff)
downloadFreeBSD-src-4597c47c8b031e66fdecf9be5ab02e94150345e6.zip
FreeBSD-src-4597c47c8b031e66fdecf9be5ab02e94150345e6.tar.gz
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
-rw-r--r--usr.sbin/rtadvd/config.c2
-rw-r--r--usr.sbin/rtadvd/if.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/rtadvd/config.c b/usr.sbin/rtadvd/config.c
index f0e11a3..b781ecc 100644
--- a/usr.sbin/rtadvd/config.c
+++ b/usr.sbin/rtadvd/config.c
@@ -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));
diff --git a/usr.sbin/rtadvd/if.c b/usr.sbin/rtadvd/if.c
index b22e37d..ac2ba1b 100644
--- a/usr.sbin/rtadvd/if.c
+++ b/usr.sbin/rtadvd/if.c
@@ -388,7 +388,7 @@ update_ifinfo_nd_flags(struct ifinfo *ifi)
}
/* 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_head, int ifindex)
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) {
OpenPOWER on IntegriCloud