]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commitdiff
block: Fix memory leaks in bdrv_co_do_pwritev()
authorKevin Wolf <kwolf@redhat.com>
Fri, 7 Feb 2014 14:29:00 +0000 (15:29 +0100)
committerKevin Wolf <kwolf@redhat.com>
Sun, 9 Feb 2014 08:12:39 +0000 (09:12 +0100)
The error path for a failure in one of the two bdrv_aligned_preadv()
calls leaked head_buf or tail_buf, respectively. This fixes the memory
leak.

Reported-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
block.c

diff --git a/block.c b/block.c
index ac0ccac76df7d71daf2c680794f060f9d4ca98bc..c1d1f74b88c4233eeaf56ca98de2051f56657822 100644 (file)
--- a/block.c
+++ b/block.c
@@ -3279,9 +3279,9 @@ fail:
 
     if (use_local_qiov) {
         qemu_iovec_destroy(&local_qiov);
-        qemu_vfree(head_buf);
-        qemu_vfree(tail_buf);
     }
+    qemu_vfree(head_buf);
+    qemu_vfree(tail_buf);
 
     return ret;
 }