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?
Thomas