]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
Free cmd in virNetDevVethCreate
authorGao feng <gaofeng@cn.fujitsu.com>
Fri, 4 Oct 2013 10:53:53 +0000 (18:53 +0800)
committerDaniel P. Berrange <berrange@redhat.com>
Fri, 4 Oct 2013 11:03:19 +0000 (12:03 +0100)
Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
src/util/virnetdevveth.c

index ea49053a2296dd4082766b420316f3c71c09efbf..25eb2822782d280bc4911b316d6294bd43afedb0 100644 (file)
@@ -110,6 +110,7 @@ int virNetDevVethCreate(char** veth1, char** veth2)
     char *veth1auto = NULL;
     char *veth2auto = NULL;
     int vethNum = 0;
+    virCommandPtr cmd = NULL;
     size_t i;
 
     /*
@@ -139,7 +140,7 @@ int virNetDevVethCreate(char** veth1, char** veth2)
             vethNum = veth2num + 1;
         }
 
-        virCommandPtr cmd = virCommandNew("ip");
+        cmd = virCommandNew("ip");
         virCommandAddArgList(cmd, "link", "add",
                              *veth1 ? *veth1 : veth1auto,
                              "type", "veth", "peer", "name",
@@ -169,6 +170,8 @@ int virNetDevVethCreate(char** veth1, char** veth2)
                   status);
         VIR_FREE(veth1auto);
         VIR_FREE(veth2auto);
+        virCommandFree(cmd);
+        cmd = NULL;
     }
 
     virReportError(VIR_ERR_INTERNAL_ERROR,
@@ -176,6 +179,7 @@ int virNetDevVethCreate(char** veth1, char** veth2)
                    MAX_VETH_RETRIES);
 
 cleanup:
+    virCommandFree(cmd);
     VIR_FREE(veth1auto);
     VIR_FREE(veth2auto);
     return ret;