vmbus: fix strncpy related warnings
The code that was manipulating interface names with ifreq was
causing warnings about possible truncation and non terminated
strings.
These are warnings only since kernel would allow a interface
name > 15 characters anyway.
Reported-by: Burt Silverman
@@ -157,7 +157,7 @@ vlib_vmbus_raise_lower (int fd, const char *upper_name)
u8 *dev_net_dir;
DIR *dir;
- memset (&ifr, 0, sizeof (ifr));
+ clib_memset (&ifr, 0, sizeof (ifr));
dev_net_dir = format (0, "%s/%s%c", sysfs_class_net_path, upper_name, 0);
@@ -175,7 +175,7 @@ vlib_vmbus_raise_lower (int fd, const char *upper_name)
if (strncmp (e->d_name, "lower_", 6))
continue;
- strncpy (ifr.ifr_name, e->d_name + 6, IFNAMSIZ);
+ strncpy (ifr.ifr_name, e->d_name + 6, IFNAMSIZ - 1);
break;
}
closedir (dir);
@@ -249,8 +249,8 @@ vlib_vmbus_bind_to_uio (vlib_vmbus_addr_t * addr)
}
- memset (&ifr, 0, sizeof (ifr));
- strncpy (ifr.ifr_name, ifname, IFNAMSIZ);
+ clib_memset (&ifr, 0, sizeof (ifr));
+ strncpy (ifr.ifr_name, ifname, IFNAMSIZ - 1);
/* read up/down flags */
fd = socket (PF_INET, SOCK_DGRAM, 0);
