platform: assert for valid ifname in ethtool_get()

Add an assert (g_return_val_if_reached()) that the interface name is
valid and shorter then 16 bytes. If it happened to be longer, strncpy()
would not have zero terminated the interface name.
This commit is contained in:
Thomas Haller 2015-07-03 09:53:34 +02:00
parent 904e961464
commit 5b123f2539

View file

@ -48,8 +48,11 @@ ethtool_get (const char *name, gpointer edata)
if (!name || !*name)
return FALSE;
if (strlen (name) >= IFNAMSIZ)
g_return_val_if_reached (FALSE);
memset (&ifr, 0, sizeof (ifr));
strncpy (ifr.ifr_name, name, IFNAMSIZ);
strcpy (ifr.ifr_name, name);
ifr.ifr_data = edata;
fd = socket (PF_INET, SOCK_DGRAM, 0);