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(a)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