Am 05.04.2017 um 21:47 hat Eric Blake geschrieben:
> Noticed while checking Coccinelle results. Naming a label 'out:'
> when it is only used on error paths is weird; meanwhile we know
> that snapshot_options is NULL on success and that QDECREF(NULL)
> is safe.  So merge the two exit paths into one.
> 
> Signed-off-by: Eric Blake <ebl...@redhat.com>
> ---
>  block.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/block.c b/block.c
> index 9b87bf6..a13625f 100644
> --- a/block.c
> +++ b/block.c
> @@ -2209,13 +2209,10 @@ static BlockDriverState 
> *bdrv_append_temp_snapshot(BlockDriverState *bs,
>          goto out;
>      }
> 
> +out:
> +    QDECREF(snapshot_options);
>      g_free(tmp_filename);
>      return bs_snapshot;

bs_snapshot is uninitialised or at least the wrong return value in error
cases. (Hm... Shouldn't the compiler catch the uninitialised part?)

> -
> -out:
> -    QDECREF(snapshot_options);
> -    g_free(tmp_filename);
> -    return NULL;
>  }

Kevin

Reply via email to