On 30.09.20 19:19, Eric Blake wrote: > On 9/30/20 10:58 AM, Christian Borntraeger wrote: >> gcc 10 from Fedora 32 gives me: >> >> Compiling C object libblock.fa.p/nbd_server.c.o >> ../nbd/server.c: In function ‘nbd_co_client_start’: >> ../nbd/server.c:625:14: error: ‘namelen’ may be used uninitialized in this >> function [-Werror=maybe-uninitialized] >> 625 | rc = nbd_negotiate_send_info(client, NBD_INFO_NAME, namelen, >> name, >> | >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> 626 | errp); >> | ~~~~~ >> ../nbd/server.c:564:14: note: ‘namelen’ was declared here >> 564 | uint32_t namelen; >> | ^~~~~~~ >> cc1: all warnings being treated as errors >> >> As I cannot see how this can happen, let uns silence the warning. > > gcc is smart enough to see that nbd_opt_read_name(... &namelen), which > is the only use of namelen between declaration and use, does not always > initialize namelen; but fails to see we also exit this function early in > the same conditions when nbd_opt_read_name left namelen uninit. The > workaround is fine. > > Reviewed-by: Eric Blake <ebl...@redhat.com> > > I'm happy for this to go in through the trivial tree, but I'll also > queue it on my NBD tree if that is ready first.
Just in case cc qemu-trival.