]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commitdiff
rbd: Fix leaks in rbd_start_aio() error path
authorKevin Wolf <kwolf@redhat.com>
Thu, 5 Jun 2014 14:19:26 +0000 (16:19 +0200)
committerStefan Hajnoczi <stefanha@redhat.com>
Fri, 6 Jun 2014 09:05:04 +0000 (11:05 +0200)
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Benoit Canet <benoit@irqsave.net>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
block/rbd.c

index a78760b7fef6c141a10ddd8ce814be4587b887e1..93639f783ccb215e546b4f125a593d51388e8cfd 100644 (file)
@@ -685,13 +685,16 @@ static BlockDriverAIOCB *rbd_start_aio(BlockDriverState *bs,
     }
 
     if (r < 0) {
-        goto failed;
+        goto failed_completion;
     }
 
     return &acb->common;
 
+failed_completion:
+    rbd_aio_release(c);
 failed:
     g_free(rcb);
+    qemu_vfree(acb->bounce);
     qemu_aio_release(acb);
     return NULL;
 }