[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] block: Silence Coverity in bdrv_drop_intermedia
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH] block: Silence Coverity in bdrv_drop_intermediate() |
Date: |
Fri, 15 Mar 2019 15:48:32 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Kevin Wolf <address@hidden> writes:
> Coverity doesn't like that the return value of bdrv_check_update_perm()
> stays unused only in this place (CID 1399710).
>
> Even if checking local_err should be equivalent to checking ret < 0,
> let's switch to using the return value to be more consistent (and in
> case of a bug somewhere down the call chain, forgetting to assign errp
> is more likely than returning 0 for an error case).
>
> Signed-off-by: Kevin Wolf <address@hidden>
> ---
> block.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/block.c b/block.c
> index ed9253c786..0a93ee9ac8 100644
> --- a/block.c
> +++ b/block.c
> @@ -4350,11 +4350,10 @@ int bdrv_drop_intermediate(BlockDriverState *top,
> BlockDriverState *base,
> QLIST_FOREACH_SAFE(c, &top->parents, next_parent, next) {
> /* Check whether we are allowed to switch c from top to base */
> GSList *ignore_children = g_slist_prepend(NULL, c);
> - bdrv_check_update_perm(base, NULL, c->perm, c->shared_perm,
> - ignore_children, &local_err);
> + ret = bdrv_check_update_perm(base, NULL, c->perm, c->shared_perm,
> + ignore_children, &local_err);
> g_slist_free(ignore_children);
> - if (local_err) {
> - ret = -EPERM;
> + if (ret < 0) {
> error_report_err(local_err);
> goto exit;
> }
Reviewed-by: Markus Armbruster <address@hidden>