qemu-trivial
[Top][All Lists]
Advanced

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

Re: [Qemu-trivial] [Qemu-devel] [PATCH] block: Fix compiler warning (-We


From: Stefan Hajnoczi
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH] block: Fix compiler warning (-Werror=uninitialized)
Date: Fri, 20 Sep 2013 12:42:14 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, Sep 19, 2013 at 06:59:23PM +0200, Andreas Färber wrote:
> Am 17.09.2013 18:43, schrieb Stefan Weil:
> > The patch fixes a warning from gcc (Debian 4.6.3-14+rpi1) 4.6.3:
> > 
> > block/stream.c:141:22: error:
> > ‘copy’ may be used uninitialized in this function [-Werror=uninitialized]
> > 
> > This is not a real bug - a better compiler would not complain.
> > 
> > Now 'copy' has always a defined value, so the check for ret >= 0
> > can be removed.
> > 
> > Signed-off-by: Stefan Weil <address@hidden>
> > ---
> >  block/stream.c |    5 ++---
> >  1 file changed, 2 insertions(+), 3 deletions(-)
> > 
> > diff --git a/block/stream.c b/block/stream.c
> > index 078ce4a..fc19194 100644
> > --- a/block/stream.c
> > +++ b/block/stream.c
> > @@ -108,7 +108,7 @@ static void coroutine_fn stream_run(void *opaque)
> >  
> >      for (sector_num = 0; sector_num < end; sector_num += n) {
> >          uint64_t delay_ns = 0;
> > -        bool copy;
> > +        bool copy = false;
> >  
> >  wait:
> >          /* Note that even when no rate limit is applied we need to yield
> > @@ -123,7 +123,6 @@ wait:
> >                                  STREAM_BUFFER_SIZE / BDRV_SECTOR_SIZE, &n);
> >          if (ret == 1) {
> >              /* Allocated in the top, no need to copy.  */
> > -            copy = false;
> >          } else if (ret >= 0) {
> >              /* Copy if allocated in the intermediate images.  Limit to the
> >               * known-unallocated area [sector_num, sector_num+n).  */
> 
> Sorry for not spotting this patch earlier. This hunk looks wrong and
> needs to be dropped, I believe. In the ret >= 0 && copy case, there is a
> "goto wait" which would now no longer be able to go from copy == true ->
> copy == false. Not sure if that can happen in practice.

Thanks for catching this!

I've dropped the patch from my block tree for now.

Stefan



reply via email to

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