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