qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] nbd: fix uninitialized variable warning


From: Marc-André Lureau
Subject: Re: [Qemu-devel] [PATCH] nbd: fix uninitialized variable warning
Date: Tue, 16 Jul 2019 14:06:40 +0400

Hi

On Tue, Jul 16, 2019 at 1:19 PM Philippe Mathieu-Daudé
<address@hidden> wrote:
>
> Hi Marc-André,
>
> On 7/16/19 10:42 AM, Marc-André Lureau wrote:
> > ../block/nbd.c: In function 'nbd_co_request':
> > ../block/nbd.c:745:8: error: 'local_reply.type' may be used uninitialized 
> > in this function [-Werror=maybe-uninitialized]
> >      if (chunk->type == NBD_REPLY_TYPE_NONE) {
> >         ^
> > ../block/nbd.c:710:14: note: 'local_reply.type' was declared here
> >      NBDReply local_reply;
> >               ^~~~~~~~~~~
> > ../block/nbd.c:710:14: error: 'local_reply.flags' may be used uninitialized 
> > in this function [-Werror=maybe-uninitialized]
> > ../block/nbd.c:738:8: error: 'local_reply.<U4be0>.magic' may be used 
> > uninitialized in this function [-Werror=maybe-uninitialized]
> >      if (nbd_reply_is_simple(reply) || s->quit) {
> >         ^
> > ../block/nbd.c:710:14: note: 'local_reply.<U4be0>.magic' was declared here
> >      NBDReply local_reply;
> >               ^~~~~~~~~~~
> > cc1: all warnings being treated as errors
>
> Thomas reported this error when compiling with -O3 few months ago [1].

Thanks, I couldn't find a previous report.

> Are you using that, or the latest GCC emit a warning even with no -O3?

Right, the warning seems to appear with -O3 (I happen to have it with
mingw64-gcc-8.3.0-2.fc30.x86_64)

>
> Personally I'd add:
>
> Fixes: 86f8cdf3db8

Actually, it was there before, so I'll skip that.

> Reported-by: Thomas Huth <address@hidden>
>
> > Signed-off-by: Marc-André Lureau <address@hidden>
> > ---
> >  block/nbd.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/block/nbd.c b/block/nbd.c
> > index 81edabbf35..02eef09728 100644
> > --- a/block/nbd.c
> > +++ b/block/nbd.c
> > @@ -707,7 +707,7 @@ static bool nbd_reply_chunk_iter_receive(BDRVNBDState 
> > *s,
> >                                           void **payload)
> >  {
> >      int ret, request_ret;
> > -    NBDReply local_reply;
> > +    NBDReply local_reply = { 0, };
>
> Yesterday [2] Peter said: "= {}" is our standard struct-zero-initializer
> so we should prefer that.
>
> With {}:
> Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

ok, thanks

>
> >      NBDStructuredReplyChunk *chunk;
> >      Error *local_err = NULL;
> >      if (s->quit) {
> >
>
> [1] https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg07007.html
> [2] https://lists.gnu.org/archive/html/qemu-devel/2019-07/msg03431.html



reply via email to

[Prev in Thread] Current Thread [Next in Thread]