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

index 403961bf53ed8a587b9e807543afe9b48ae42784..ea49053a2296dd4082766b420316f3c71c09efbf 100644 (file)
@@ -196,18 +196,24 @@ int virNetDevVethDelete(const char *veth)
 {
     virCommandPtr cmd = virCommandNewArgList("ip", "link", "del", veth, NULL);
     int status;
+    int ret = -1;
 
     if (virCommandRun(cmd, &status) < 0)
-        return -1;
+        goto cleanup;
 
     if (status != 0) {
         if (!virNetDevExists(veth)) {
             VIR_DEBUG("Device %s already deleted (by kernel namespace cleanup)", veth);
-            return 0;
+            ret = 0;
+            goto cleanup;
         }
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to delete veth device %s"), veth);
-        return -1;
+        goto cleanup;
     }
-    return 0;
+
+    ret = 0;
+cleanup:
+    virCommandFree(cmd);
+    return ret;
 }