]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Avoid virsh leaks due to missing virDomainFree(dom) calls
authorJim Meyering <meyering@redhat.com>
Wed, 30 Jan 2008 19:58:59 +0000 (19:58 +0000)
committerJim Meyering <meyering@redhat.com>
Wed, 30 Jan 2008 19:58:59 +0000 (19:58 +0000)
* src/virsh.c (cmdDomuuid): Add missing virDomainFree call.
(cmdAttachDevice): Likewise.
(cmdDetachDevice): Likewise.

ChangeLog
src/virsh.c

index d0606aeb64b535b45c92f58f79b5ff19b2a0a889..27e508972db55342d1e07d539601082d1476ce29 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 Wed Jan 30 20:49:34 CET 2008  Jim Meyering  <meyering@redhat.com>
 
+       Avoid virsh leaks due to missing virDomainFree(dom) calls
+       * src/virsh.c (cmdDomuuid): Add missing virDomainFree call.
+       (cmdAttachDevice): Likewise.
+       (cmdDetachDevice): Likewise.
+
        * src/virsh.c (cmdCapabilities): Plug a small leak.
 
        * src/test.c (testLoadDomain): Avoid leaks upon failure.
index 0d93fb6bd8b2fd6cf2dac910f091822be919ff49..487f256be21c56b5cc05833793a91f9226f91bd5 100644 (file)
@@ -2161,6 +2161,7 @@ cmdDomuuid(vshControl * ctl, vshCmd * cmd)
     else
         vshError(ctl, FALSE, "%s", _("failed to get domain UUID"));
 
+    virDomainFree(dom);
     return TRUE;
 }
 
@@ -3038,8 +3039,10 @@ cmdAttachDevice(vshControl * ctl, vshCmd * cmd)
         return FALSE;
     }
 
-    if (virFileReadAll(from, VIRSH_MAX_XML_FILE, &buffer) < 0)
+    if (virFileReadAll(from, VIRSH_MAX_XML_FILE, &buffer) < 0) {
+        virDomainFree(dom);
         return FALSE;
+    }
 
     ret = virDomainAttachDevice(dom, buffer);
     free (buffer);
@@ -3092,8 +3095,10 @@ cmdDetachDevice(vshControl * ctl, vshCmd * cmd)
         return FALSE;
     }
 
-    if (virFileReadAll(from, VIRSH_MAX_XML_FILE, &buffer) < 0)
+    if (virFileReadAll(from, VIRSH_MAX_XML_FILE, &buffer) < 0) {
+        virDomainFree(dom);
         return FALSE;
+    }
 
     ret = virDomainDetachDevice(dom, buffer);
     free (buffer);