]> xenbits.xensource.com Git - people/dariof/libvirt.git/commitdiff
netdev: accept NULL in virNetDevSetupControl
authorJán Tomko <jtomko@redhat.com>
Fri, 21 Jun 2013 16:57:12 +0000 (18:57 +0200)
committerJán Tomko <jtomko@redhat.com>
Fri, 21 Jun 2013 18:22:07 +0000 (20:22 +0200)
Commit b9c6b073 dropped the version of virNetDevSetupControl
that didn't check for NULL arguments, but we call it like that
in virNetDevBridgeDelete.

src/util/virnetdev.c
src/util/virnetdev.h

index 7aba515ae36f0d348bfe5a85faa5b28529630588..ebe20d09fba9603ff505ea26fa7f7552fe29de02 100644 (file)
@@ -62,13 +62,15 @@ static int virNetDevSetupControlFull(const char *ifname,
 {
     int fd;
 
-    memset(ifr, 0, sizeof(*ifr));
+    if (ifr && ifname) {
+        memset(ifr, 0, sizeof(*ifr));
 
-    if (virStrcpyStatic(ifr->ifr_name, ifname) == NULL) {
-        virReportSystemError(ERANGE,
-                             _("Network interface name '%s' is too long"),
-                             ifname);
-        return -1;
+        if (virStrcpyStatic(ifr->ifr_name, ifname) == NULL) {
+            virReportSystemError(ERANGE,
+                                 _("Network interface name '%s' is too long"),
+                                 ifname);
+            return -1;
+        }
     }
 
     if ((fd = socket(domain, type, 0)) < 0) {
index 933a9b334c0d10cf5cad1ef0c20eaa21981ee6e6..44a37ca739140669db2ccf67ff95a48d8b074935 100644 (file)
@@ -38,7 +38,7 @@ typedef void virIfreq;
 
 int virNetDevSetupControl(const char *ifname,
                           virIfreq *ifr)
-    ATTRIBUTE_RETURN_CHECK ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
+    ATTRIBUTE_RETURN_CHECK;
 
 int virNetDevExists(const char *brname)
     ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;