qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2] curl: Don't deref NULL pointer in call to ai


From: Richard W.M. Jones
Subject: Re: [Qemu-devel] [PATCH v2] curl: Don't deref NULL pointer in call to aio_poll.
Date: Fri, 29 Aug 2014 10:19:04 +0100
User-agent: Mutt/1.5.20 (2009-12-10)

On Fri, Aug 29, 2014 at 10:03:59AM +0100, Stefan Hajnoczi wrote:
> On Thu, Aug 28, 2014 at 09:04:21AM +0100, Richard W.M. Jones wrote:
> > diff --git a/block/curl.c b/block/curl.c
> > index d4b85d2..f59615d 100644
> > --- a/block/curl.c
> > +++ b/block/curl.c
> > @@ -352,7 +352,7 @@ static void curl_multi_timeout_do(void *arg)
> >  #endif
> >  }
> >  
> > -static CURLState *curl_init_state(BDRVCURLState *s)
> > +static CURLState *curl_init_state(BlockDriverState *bs, BDRVCURLState *s)
> >  {
> >      CURLState *state = NULL;
> >      int i, j;
> 
> Why add the BDRVCURLState *s argument...
> 
> > @@ -370,7 +370,7 @@ static CURLState *curl_init_state(BDRVCURLState *s)
> >              break;
> >          }
> >          if (!state) {
> > -            aio_poll(state->s->aio_context, true);
> > +            aio_poll(bdrv_get_aio_context(bs), true);
> >          }
> >      } while(!state);
> >  
> 
> ...if it is not used?

I may be misunderstanding this, but BDRVCURLState *s is used elsewhere
in the function.

However there is a potential to derive `BDRVCURLState *s = bs->opaque;'
if that's what you meant?

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html



reply via email to

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