From: Max Reitz Date: Fri, 10 Jul 2020 09:50:37 +0000 (+0200) Subject: block/amend: Check whether the node exists X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=984c36781404592a6fbaa31ec6d25d6b8f933489;p=qemu.git block/amend: Check whether the node exists We should check whether the user-specified node-name actually refers to a node. The simplest way to do that is to use bdrv_lookup_bs() instead of bdrv_find_node() (the former wraps the latter, and produces an error message if necessary). Reported-by: Coverity (CID 1430268) Fixes: ced914d0ab9fb2c900f873f6349a0b8eecd1fdbe Signed-off-by: Max Reitz Message-Id: <20200710095037.10885-1-mreitz@redhat.com> Reviewed-by: Maxim Levitsky --- diff --git a/block/amend.c b/block/amend.c index f4612dcf08..392df9ef83 100644 --- a/block/amend.c +++ b/block/amend.c @@ -69,8 +69,12 @@ void qmp_x_blockdev_amend(const char *job_id, BlockdevAmendJob *s; const char *fmt = BlockdevDriver_str(options->driver); BlockDriver *drv = bdrv_find_format(fmt); - BlockDriverState *bs = bdrv_find_node(node_name); + BlockDriverState *bs; + bs = bdrv_lookup_bs(NULL, node_name, errp); + if (!bs) { + return; + } if (!drv) { error_setg(errp, "Block driver '%s' not found or not supported", fmt);