This patch generates a warning. On Fri, Sep 15, 2023 at 9:41 PM Denis V. Lunev <d...@openvz.org> wrote: > > More conditions follows thus the check should be more scalable. > > Signed-off-by: Denis V. Lunev <d...@openvz.org> > --- > block/parallels.c | 19 ++++++++----------- > 1 file changed, 8 insertions(+), 11 deletions(-) > > diff --git a/block/parallels.c b/block/parallels.c > index 8f223bfd89..aa29df9f77 100644 > --- a/block/parallels.c > +++ b/block/parallels.c > @@ -1065,7 +1065,7 @@ static int parallels_open(BlockDriverState *bs, QDict > *options, int flags, > int ret, size, i; > int64_t file_nb_sectors, sector; > uint32_t data_start; > - bool data_off_is_correct; > + bool need_check = false; > > ret = parallels_opts_prealloc(bs, options, errp); > if (ret < 0) { > @@ -1133,11 +1133,12 @@ static int parallels_open(BlockDriverState *bs, QDict > *options, int flags, > s->bat_bitmap = (uint32_t *)(s->header + 1); > > if (le32_to_cpu(ph.inuse) == HEADER_INUSE_MAGIC) { > - s->header_unclean = true; > + need_check = s->header_unclean = true; > } > > - data_off_is_correct = parallels_test_data_off(s, file_nb_sectors, > - &data_start); > + need_check = need_check || > + !parallels_test_data_off(s, file_nb_sectors, &data_start); > +
../block/parallels.c:1139:18: warning: variable 'data_start' is used uninitialized whenever '||' condition is true [-Wsometimes-uninitialized] need_check = need_check || ^~~~~~~~~~ ../block/parallels.c:1142:21: note: uninitialized use occurs here s->data_start = data_start; ^~~~~~~~~~ ../block/parallels.c:1139:18: note: remove the '||' if its condition is always false need_check = need_check || ^~~~~~~~~~~~~ ../block/parallels.c:1067:24: note: initialize the variable 'data_start' to silence this warning uint32_t data_start; ^ = 0 1 warning generated. Regards, Mike.