[PATCH 4/5] ch: use g_auto in virCHMonitorBuildKernelRelatedJson

William Douglas william.douglas at intel.com
Fri Oct 1 18:12:36 UTC 2021


Signed-off-by: William Douglas <william.douglas at intel.com>
---
 src/ch/ch_monitor.c | 27 ++++++++++-----------------
 1 file changed, 10 insertions(+), 17 deletions(-)

diff --git a/src/ch/ch_monitor.c b/src/ch/ch_monitor.c
index 7326ac645b..bb49c70069 100644
--- a/src/ch/ch_monitor.c
+++ b/src/ch/ch_monitor.c
@@ -112,43 +112,36 @@ virCHMonitorBuildPTYJson(virJSONValue *content, virDomainDef *vmdef)
 static int
 virCHMonitorBuildKernelRelatedJson(virJSONValue *content, virDomainDef *vmdef)
 {
-    virJSONValue *kernel = virJSONValueNewObject();
-    virJSONValue *cmdline = virJSONValueNewObject();
-    virJSONValue *initramfs = virJSONValueNewObject();
+    g_autoptr(virJSONValue) kernel = virJSONValueNewObject();
+    g_autoptr(virJSONValue) cmdline = virJSONValueNewObject();
+    g_autoptr(virJSONValue) initramfs = virJSONValueNewObject();
 
     if (vmdef->os.kernel == NULL) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                        _("Kernel image path in this domain is not defined"));
-        goto cleanup;
+        return -1;
     } else {
         if (virJSONValueObjectAppendString(kernel, "path", vmdef->os.kernel) < 0)
-            goto cleanup;
+            return -1;
         if (virJSONValueObjectAppend(content, "kernel", &kernel) < 0)
-            goto cleanup;
+            return -1;
     }
 
     if (vmdef->os.cmdline) {
         if (virJSONValueObjectAppendString(cmdline, "args", vmdef->os.cmdline) < 0)
-            goto cleanup;
+            return -1;
         if (virJSONValueObjectAppend(content, "cmdline", &cmdline) < 0)
-            goto cleanup;
+            return -1;
     }
 
     if (vmdef->os.initrd != NULL) {
         if (virJSONValueObjectAppendString(initramfs, "path", vmdef->os.initrd) < 0)
-            goto cleanup;
+            return -1;
         if (virJSONValueObjectAppend(content, "initramfs", &initramfs) < 0)
-            goto cleanup;
+            return -1;
     }
 
     return 0;
-
- cleanup:
-    virJSONValueFree(kernel);
-    virJSONValueFree(cmdline);
-    virJSONValueFree(initramfs);
-
-    return -1;
 }
 
 static int
-- 
2.33.0




More information about the libvir-list mailing list