aboutsummaryrefslogtreecommitdiff
path: root/block/qapi.c
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2015-11-20 13:53:35 +0100
committerKevin Wolf <kwolf@redhat.com>2015-11-25 14:27:43 +0100
commit903c341d5742b160e52752eb6fdc1ba9b87dc52e (patch)
tree6776784a8b207af6ee31d28de08331c329d829be /block/qapi.c
parent98caa5bc0083ed4fe4833addd3078b56ce2f6cfa (diff)
downloadqemu-903c341d5742b160e52752eb6fdc1ba9b87dc52e.zip
qemu-903c341d5742b160e52752eb6fdc1ba9b87dc52e.tar.gz
qemu-903c341d5742b160e52752eb6fdc1ba9b87dc52e.tar.bz2
block/qapi: Plug memory leak on query-block error path
Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block/qapi.c')
-rw-r--r--block/qapi.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/block/qapi.c b/block/qapi.c
index d20262d..267f147 100644
--- a/block/qapi.c
+++ b/block/qapi.c
@@ -436,7 +436,9 @@ BlockInfoList *qmp_query_block(Error **errp)
bdrv_query_info(blk, &info->value, &local_err);
if (local_err) {
error_propagate(errp, local_err);
- goto err;
+ g_free(info);
+ qapi_free_BlockInfoList(head);
+ return NULL;
}
*p_next = info;
@@ -444,10 +446,6 @@ BlockInfoList *qmp_query_block(Error **errp)
}
return head;
-
- err:
- qapi_free_BlockInfoList(head);
- return NULL;
}
BlockStatsList *qmp_query_blockstats(bool has_query_nodes,