]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: qapi: Use automatic memory cleanup
authorPeter Krempa <pkrempa@redhat.com>
Tue, 9 Apr 2019 08:36:16 +0000 (10:36 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 6 May 2019 07:46:06 +0000 (09:46 +0200)
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_qapi.c

index 427809e9e32835d54ff66488334c1989089c2c91..90df50ec77be26c1b0e6b3e7cf9a4015d5b4af4f 100644 (file)
@@ -207,7 +207,7 @@ virQEMUQAPISchemaPathGet(const char *query,
                          virHashTablePtr schema,
                          virJSONValuePtr *entry)
 {
-    char **elems = NULL;
+    VIR_AUTOSTRINGLIST elems = NULL;
 
     *entry = NULL;
 
@@ -216,13 +216,11 @@ virQEMUQAPISchemaPathGet(const char *query,
 
     if (!*elems) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("malformed query string"));
-        virStringListFree(elems);
         return -1;
     }
 
     *entry = virQEMUQAPISchemaTraverse(*elems, elems + 1, schema);
 
-    virStringListFree(elems);
     return 0;
 }
 
@@ -270,21 +268,16 @@ virQEMUQAPISchemaEntryProcess(size_t pos ATTRIBUTE_UNUSED,
 virHashTablePtr
 virQEMUQAPISchemaConvert(virJSONValuePtr schemareply)
 {
-    virHashTablePtr schema;
-    virHashTablePtr ret = NULL;
+    VIR_AUTOPTR(virHashTable) schema = NULL;
+    VIR_AUTOPTR(virJSONValue) schemajson = schemareply;
 
     if (!(schema = virHashCreate(512, virJSONValueHashFree)))
-        goto cleanup;
+        return NULL;
 
-    if (virJSONValueArrayForeachSteal(schemareply,
+    if (virJSONValueArrayForeachSteal(schemajson,
                                       virQEMUQAPISchemaEntryProcess,
                                       schema) < 0)
-        goto cleanup;
-
-    VIR_STEAL_PTR(ret, schema);
+        return NULL;
 
- cleanup:
-    virJSONValueFree(schemareply);
-    virHashFree(schema);
-    return ret;
+    VIR_RETURN_PTR(schema);
 }