[libvirt] [PATCH v2 1/6] conf: Rework virDomainEmulatorPinDefParseXML

John Ferlan jferlan at redhat.com
Wed Feb 20 18:33:59 UTC 2019


In preparation for using auto free mechanism, change to using the
VIR_STEAL_PTR on @def to @ret and of course be sure to properly clean
up @def in cleanup.

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/conf/domain_conf.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index ceeb247ef4..542d53e709 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -18398,6 +18398,7 @@ static virBitmapPtr
 virDomainEmulatorPinDefParseXML(xmlNodePtr node)
 {
     virBitmapPtr def = NULL;
+    virBitmapPtr ret = NULL;
     char *tmp = NULL;
 
     if (!(tmp = virXMLPropString(node, "cpuset"))) {
@@ -18412,14 +18413,15 @@ virDomainEmulatorPinDefParseXML(xmlNodePtr node)
     if (virBitmapIsAllClear(def)) {
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
                        _("Invalid value of 'cpuset': %s"), tmp);
-        virBitmapFree(def);
-        def = NULL;
         goto cleanup;
     }
 
+    VIR_STEAL_PTR(ret, def);
+
  cleanup:
+    virBitmapFree(def);
     VIR_FREE(tmp);
-    return def;
+    return ret;
 }
 
 
-- 
2.20.1




More information about the libvir-list mailing list