]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
netdev: silence valgrind warning about ioctl use
authorEric Blake <eblake@redhat.com>
Fri, 13 Mar 2015 20:35:31 +0000 (14:35 -0600)
committerEric Blake <eblake@redhat.com>
Sun, 15 Mar 2015 02:59:02 +0000 (20:59 -0600)
Valgrind complained:

==3770== Syscall param ioctl(SIOCETHTOOL) points to uninitialised byte(s)
==3770==    at 0x919D407: ioctl (syscall-template.S:81)
==3770==    by 0x530FE7E: rpl_ioctl (ioctl.c:42)
==3770==    by 0x50CB433: virNetDevFeatureAvailable (virnetdev.c:2764)
==3770==    by 0x50CB6A7: virNetDevGetFeatures (virnetdev.c:2830)
==3770==    by 0x1F0E5347: udevProcessNetworkInterface (node_device_udev.c:722)
==3770==    by 0x1F0E689F: udevGetDeviceDetails (node_device_udev.c:1300)
==3770==    by 0x1F0E6E06: udevAddOneDevice (node_device_udev.c:1422)
==3770==    by 0x1F0E6FB8: udevProcessDeviceListEntry (node_device_udev.c:1464)
==3770==    by 0x1F0E70CF: udevEnumerateDevices (node_device_udev.c:1494)
==3770==    by 0x1F0E7BB4: nodeStateInitialize (node_device_udev.c:1806)
==3770==    by 0x51B4303: virStateInitialize (libvirt.c:777)
==3770==    by 0x11DEE7: daemonRunStateInit (libvirtd.c:906)
==3770==  Address 0x228e38d4 is on thread 12's stack
==3770==  in frame #2, created by virNetDevFeatureAvailable (virnetdev.c:2750)

* src/util/virnetdev.c (virNetDevFeatureAvailable): Initialize all
bytes of ifr.

Signed-off-by: Eric Blake <eblake@redhat.com>
src/util/virnetdev.c

index 093c99c83c44e813fff7306308c27d633f00bc73..54d866e69315a72d17efd90df986d6927aed39d5 100644 (file)
@@ -2758,6 +2758,7 @@ virNetDevFeatureAvailable(const char *ifname, struct ethtool_value *cmd)
         goto cleanup;
     }
 
+    memset(&ifr, 0, sizeof(ifr));
     strcpy(ifr.ifr_name, ifname);
     ifr.ifr_data = (void*) cmd;