[PATCH 09/13] qemuMonitorJSONExtractPRManagerInfo: Declare @entry inside the loop

Michal Privoznik mprivozn at redhat.com
Mon Oct 25 10:57:33 UTC 2021


The reason why @entry variable in qemuMonitorJSONExtractPRManagerInfo()
was declared at the top most level was that the variable is used under
the cleanup label.  However, if declared using g_autofree then the
variable can be declared inside the loop it is used in.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 src/qemu/qemu_monitor_json.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index f59688dfd5..f7bc680035 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -8622,7 +8622,6 @@ static int
 qemuMonitorJSONExtractPRManagerInfo(virJSONValue *reply,
                                     GHashTable *info)
 {
-    qemuMonitorPRManagerInfo *entry = NULL;
     virJSONValue *data;
     int ret = -1;
     size_t i;
@@ -8630,6 +8629,7 @@ qemuMonitorJSONExtractPRManagerInfo(virJSONValue *reply,
     data = virJSONValueObjectGetArray(reply, "return");
 
     for (i = 0; i < virJSONValueArraySize(data); i++) {
+        g_autofree qemuMonitorPRManagerInfo *entry = NULL;
         virJSONValue *prManager = virJSONValueArrayGet(data, i);
         const char *alias;
 
@@ -8652,7 +8652,6 @@ qemuMonitorJSONExtractPRManagerInfo(virJSONValue *reply,
 
     ret = 0;
  cleanup:
-    VIR_FREE(entry);
     return ret;
 
  malformed:
-- 
2.32.0




More information about the libvir-list mailing list