qemu-config: never call the callback after an error, fix leak

Ensure that the callback to qemu_config_foreach is never called upon
an error, by moving the invocation before the "out" label.

Cc: armbru@redhat.com
Fixes: 3770141139 ("qemu-config: parse configuration files to a QDict", 2021-06-04)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2021-07-05 19:14:37 +02:00
parent 143c2e0432
commit e72f9524fe

View File

@ -417,12 +417,12 @@ static int qemu_config_foreach(FILE *fp, QEMUConfigCB *cb, void *opaque,
return res;
}
res = count;
out:
if (qdict) {
cb(group, qdict, opaque, errp);
qobject_unref(qdict);
}
out:
loc_pop(&loc);
qobject_unref(qdict);
return res;
}