virt: Fix memory leak when using libvirt <= 1.0
authorRadoslaw Jablonski <radoslawx.jablonski@intel.com>
Tue, 27 Mar 2018 14:59:13 +0000 (15:59 +0100)
committerRadoslaw Jablonski <radoslawx.jablonski@intel.com>
Thu, 19 Apr 2018 12:03:40 +0000 (13:03 +0100)
Cleanup was missing for libvirt-allocated virDomainPtr.

Change-Id: Ied152e9e4084ee9e25b7357e648a6aac8778d09b
Signed-off-by: Radoslaw Jablonski <radoslawx.jablonski@intel.com>
src/virt.c

index 4dc8645..99483c4 100644 (file)
@@ -1941,14 +1941,15 @@ static int persistent_domains_state_notification(void) {
         continue;
       }
       status = virDomainGetInfo(dom, &info);
-      if (status != 0) {
+      if (status == 0)
+        /* virDomainGetState is not available. Submit 0, which corresponds to
+         * unknown reason. */
+        domain_state_submit_notif(dom, info.state, 0);
+      else
         ERROR(PLUGIN_NAME " plugin: virDomainGetInfo failed with status %i.",
               status);
-        continue;
-      }
-      /* virDomainGetState is not available. Submit 0, which corresponds to
-       * unknown reason. */
-      domain_state_submit_notif(dom, info.state, 0);
+
+      virDomainFree(dom);
     }
     sfree(domids);
   }