summaryrefslogtreecommitdiff
path: root/block/curl.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2017-05-15 12:00:53 +0200
committerJeff Cody <jcody@redhat.com>2017-05-16 10:34:03 -0400
commit675a775633e68bf8b426a896fea5b93a4f4ff1cc (patch)
tree06d82645ba7b064a3636ad91b6e3da06a0e03742 /block/curl.c
parent327c8ebd7035e4d3d94b08dd741906f1d8bb8a53 (diff)
downloadqemu-675a775633e68bf8b426a896fea5b93a4f4ff1cc.tar.gz
curl: strengthen assertion in curl_clean_state
curl_clean_state should only be called after all AIOCBs have been completed. This is not so obvious for the call from curl_detach_aio_context, so assert that. Cc: qemu-stable@nongnu.org Reviewed-by: Jeff Cody <jcody@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Message-id: 20170515100059.15795-2-pbonzini@redhat.com Signed-off-by: Jeff Cody <jcody@redhat.com>
Diffstat (limited to 'block/curl.c')
-rw-r--r--block/curl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/block/curl.c b/block/curl.c
index 43822348d6..562340f436 100644
--- a/block/curl.c
+++ b/block/curl.c
@@ -533,6 +533,11 @@ static CURLState *curl_init_state(BlockDriverState *bs, BDRVCURLState *s)
static void curl_clean_state(CURLState *s)
{
+ int j;
+ for (j = 0; j < CURL_NUM_ACB; j++) {
+ assert(!s->acb[j]);
+ }
+
if (s->s->multi)
curl_multi_remove_handle(s->s->multi, s->curl);