From: Peter Krempa Date: Tue, 9 Apr 2019 08:36:16 +0000 (+0200) Subject: qemu: qapi: Use automatic memory cleanup X-Git-Tag: v5.4.0-rc1~144 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=432452eb0dfd41be581c9116213addfdb2acfa0d;p=thirdparty%2Flibvirt.git qemu: qapi: Use automatic memory cleanup Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_qapi.c b/src/qemu/qemu_qapi.c index 427809e9e3..90df50ec77 100644 --- a/src/qemu/qemu_qapi.c +++ b/src/qemu/qemu_qapi.c @@ -207,7 +207,7 @@ virQEMUQAPISchemaPathGet(const char *query, virHashTablePtr schema, virJSONValuePtr *entry) { - char **elems = NULL; + VIR_AUTOSTRINGLIST elems = NULL; *entry = NULL; @@ -216,13 +216,11 @@ virQEMUQAPISchemaPathGet(const char *query, if (!*elems) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("malformed query string")); - virStringListFree(elems); return -1; } *entry = virQEMUQAPISchemaTraverse(*elems, elems + 1, schema); - virStringListFree(elems); return 0; } @@ -270,21 +268,16 @@ virQEMUQAPISchemaEntryProcess(size_t pos ATTRIBUTE_UNUSED, virHashTablePtr virQEMUQAPISchemaConvert(virJSONValuePtr schemareply) { - virHashTablePtr schema; - virHashTablePtr ret = NULL; + VIR_AUTOPTR(virHashTable) schema = NULL; + VIR_AUTOPTR(virJSONValue) schemajson = schemareply; if (!(schema = virHashCreate(512, virJSONValueHashFree))) - goto cleanup; + return NULL; - if (virJSONValueArrayForeachSteal(schemareply, + if (virJSONValueArrayForeachSteal(schemajson, virQEMUQAPISchemaEntryProcess, schema) < 0) - goto cleanup; - - VIR_STEAL_PTR(ret, schema); + return NULL; - cleanup: - virJSONValueFree(schemareply); - virHashFree(schema); - return ret; + VIR_RETURN_PTR(schema); }