]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemuMonitorJSONTransactionAdd: Refactor cleanup
authorPeter Krempa <pkrempa@redhat.com>
Fri, 12 Feb 2021 10:51:59 +0000 (11:51 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Sat, 20 Feb 2021 12:26:37 +0000 (13:26 +0100)
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_monitor_json.c

index 72af979d1ad7db280f851ceac57b54066a82e91c..b2034b3a40af28778fadf7e2370928474abfe015 100644 (file)
@@ -510,31 +510,28 @@ qemuMonitorJSONTransactionAdd(virJSONValuePtr actions,
                               const char *cmdname,
                               ...)
 {
-    virJSONValuePtr entry = NULL;
-    virJSONValuePtr data = NULL;
+    g_autoptr(virJSONValue) entry = NULL;
+    g_autoptr(virJSONValue) data = NULL;
     va_list args;
-    int ret = -1;
 
     va_start(args, cmdname);
 
-    if (virJSONValueObjectCreateVArgs(&data, args) < 0)
-        goto cleanup;
+    if (virJSONValueObjectCreateVArgs(&data, args) < 0) {
+        va_end(args);
+        return -1;
+    }
+
+    va_end(args);
 
     if (virJSONValueObjectCreate(&entry,
                                  "s:type", cmdname,
                                  "A:data", &data, NULL) < 0)
-        goto cleanup;
+        return -1;
 
     if (virJSONValueArrayAppend(actions, &entry) < 0)
-        goto cleanup;
-
-    ret = 0;
+        return -1;
 
- cleanup:
-    virJSONValueFree(entry);
-    virJSONValueFree(data);
-    va_end(args);
-    return ret;
+    return 0;
 }