[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Prevent compiler warning on block.c
From: |
Kevin Wolf |
Subject: |
Re: Prevent compiler warning on block.c |
Date: |
Wed, 9 Jun 2021 11:04:35 +0200 |
Am 09.06.2021 um 09:12 hat Thomas Huth geschrieben:
> On 05/05/2021 10.05, Vladimir Sementsov-Ogievskiy wrote:
> > 05.05.2021 10:59, Miroslav Rezanina wrote:
> > > Commit 3108a15cf (block: introduce bdrv_drop_filter()) introduced
> > > uninitialized
> > > variable to_cow_parent in bdrv_replace_node_common function that is
> > > used only when
> > > detach_subchain is true. It is used in two places. First if block
> > > properly initialize
> > > the variable and second block use it.
> > >
> > > However, compiler treats this two blocks as two independent cases so
> > > it thinks first
> > > block can fail test and second one pass (although both use same
> > > condition). This cause
> > > warning that variable can be uninitialized in second block.
> > >
> > > To prevent this warning, initialize the variable with NULL.
> > >
> > > Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
> > > ---
> > > diff --git a/block.c b/block.c
> > > index 874c22c43e..3ca27bd2d9 100644
> > > --- a/block.c
> > > +++ b/block.c
> > > @@ -4851,7 +4851,7 @@ static int
> > > bdrv_replace_node_common(BlockDriverState *from,
> > > Transaction *tran = tran_new();
> > > g_autoptr(GHashTable) found = NULL;
> > > g_autoptr(GSList) refresh_list = NULL;
> > > - BlockDriverState *to_cow_parent;
> > > + BlockDriverState *to_cow_parent = NULL;
> > > int ret;
> > >
> > > if (detach_subchain) {
> > >
> >
> > Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
>
> This just popped up again here:
>
> https://lists.gnu.org/archive/html/qemu-devel/2021-06/msg02067.html
>
> Kevin, Max, could you please pick it up to get this problem fixed?
Thanks for pinging, seems the intended refactoring hasn't happened.
I've applied this one to my block branch now.
Kevin