From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59063) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMh4M-0000UG-Tg for qemu-devel@nongnu.org; Wed, 27 Aug 2014 13:31:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XMh4G-0001Hg-KF for qemu-devel@nongnu.org; Wed, 27 Aug 2014 13:31:38 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35277) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMh4G-0001HU-B8 for qemu-devel@nongnu.org; Wed, 27 Aug 2014 13:31:32 -0400 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s7RHVVch013069 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 27 Aug 2014 13:31:31 -0400 From: "Richard W.M. Jones" Date: Wed, 27 Aug 2014 18:31:27 +0100 Message-Id: <1409160687-32212-2-git-send-email-rjones@redhat.com> In-Reply-To: <1409160687-32212-1-git-send-email-rjones@redhat.com> References: <1409160687-32212-1-git-send-email-rjones@redhat.com> Subject: [Qemu-devel] [PATCH] curl: Don't deref NULL pointer in call to aio_poll. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: stefanha@redhat.com Signed-off-by: Richard W.M. Jones --- block/curl.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/block/curl.c b/block/curl.c index 46f1082..8b69f28 100644 --- a/block/curl.c +++ b/block/curl.c @@ -355,7 +355,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; @@ -373,7 +373,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); @@ -552,7 +552,7 @@ static int curl_open(BlockDriverState *bs, QDict *options, int flags, DPRINTF("CURL: Opening %s\n", file); s->aio_context = bdrv_get_aio_context(bs); s->url = g_strdup(file); - state = curl_init_state(s); + state = curl_init_state(bs, s); if (!state) goto out_noclean; @@ -636,7 +636,7 @@ static void curl_readv_bh_cb(void *p) } // No cache found, so let's start a new request - state = curl_init_state(s); + state = curl_init_state(acb->common.bs, s); if (!state) { acb->common.cb(acb->common.opaque, -EIO); qemu_aio_release(acb); -- 2.0.4