diff options
author | truckman <truckman@FreeBSD.org> | 2016-05-15 22:17:41 +0000 |
---|---|---|
committer | truckman <truckman@FreeBSD.org> | 2016-05-15 22:17:41 +0000 |
commit | 869fe5e5993ef8071c31c2abc96b8437aa6efab6 (patch) | |
tree | 7a5cb771acc219cb8d7a07b57ce1b168400fd893 /usr.sbin | |
parent | 28ec250f5fe1b00bd2ff0f994644b74f705fa83a (diff) | |
download | FreeBSD-src-869fe5e5993ef8071c31c2abc96b8437aa6efab6.zip FreeBSD-src-869fe5e5993ef8071c31c2abc96b8437aa6efab6.tar.gz |
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: 99186, 991864, 991865
MFC after: 1 week
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/rtsold/if.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/usr.sbin/rtsold/if.c b/usr.sbin/rtsold/if.c index cb4b001..0d50062 100644 --- a/usr.sbin/rtsold/if.c +++ b/usr.sbin/rtsold/if.c @@ -82,7 +82,7 @@ interface_up(char *name) int s; memset(&ifr, 0, sizeof(ifr)); - strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name)); + strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name)); memset(&nd, 0, sizeof(nd)); strlcpy(nd.ifname, name, sizeof(nd.ifname)); @@ -180,7 +180,7 @@ interface_status(struct ifinfo *ifinfo) /* get interface flags */ memset(&ifr, 0, sizeof(ifr)); - strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); + strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); if (ioctl(ifsock, SIOCGIFFLAGS, &ifr) < 0) { warnmsg(LOG_ERR, __func__, "ioctl(SIOCGIFFLAGS) on %s: %s", ifname, strerror(errno)); @@ -196,7 +196,7 @@ interface_status(struct ifinfo *ifinfo) if (!ifinfo->mediareqok) goto active; memset(&ifmr, 0, sizeof(ifmr)); - strncpy(ifmr.ifm_name, ifname, sizeof(ifmr.ifm_name)); + strlcpy(ifmr.ifm_name, ifname, sizeof(ifmr.ifm_name)); if (ioctl(ifsock, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0) { if (errno != EINVAL) { @@ -396,7 +396,7 @@ get_llflag(const char *name) continue; memset(&ifr6, 0, sizeof(ifr6)); - strncpy(ifr6.ifr_name, name, sizeof(ifr6.ifr_name)); + strlcpy(ifr6.ifr_name, name, sizeof(ifr6.ifr_name)); memcpy(&ifr6.ifr_ifru.ifru_addr, sin6, sin6->sin6_len); if (ioctl(s, SIOCGIFAFLAG_IN6, &ifr6) < 0) { warnmsg(LOG_ERR, __func__, |