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 <mreza...@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 <vsement...@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