summaryrefslogtreecommitdiffstats
path: root/src/vlib/linux/pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vlib/linux/pci.c')
-rw-r--r--src/vlib/linux/pci.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/vlib/linux/pci.c b/src/vlib/linux/pci.c
index 11480ca081c..7cadb1378ec 100644
--- a/src/vlib/linux/pci.c
+++ b/src/vlib/linux/pci.c
@@ -442,7 +442,8 @@ vlib_pci_bind_to_uio (vlib_pci_addr_t * addr, char *uio_drv_name)
memset (&ifr, 0, sizeof ifr);
memset (&drvinfo, 0, sizeof drvinfo);
ifr.ifr_data = (char *) &drvinfo;
- strncpy (ifr.ifr_name, e->d_name, IFNAMSIZ - 1);
+ strncpy (ifr.ifr_name, e->d_name, sizeof (ifr.ifr_name));
+ ifr.ifr_name[ARRAY_LEN (ifr.ifr_name) - 1] = '\0';
drvinfo.cmd = ETHTOOL_GDRVINFO;
if (ioctl (fd, SIOCETHTOOL, &ifr) < 0)
{
@@ -457,7 +458,8 @@ vlib_pci_bind_to_uio (vlib_pci_addr_t * addr, char *uio_drv_name)
continue;
memset (&ifr, 0, sizeof (ifr));
- strncpy (ifr.ifr_name, e->d_name, IFNAMSIZ - 1);
+ strncpy (ifr.ifr_name, e->d_name, sizeof (ifr.ifr_name));
+ ifr.ifr_name[ARRAY_LEN (ifr.ifr_name) - 1] = '\0';
if (ioctl (fd, SIOCGIFFLAGS, &ifr) < 0)
{
error = clib_error_return_unix (0, "ioctl fetch intf %s flags",