[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