summaryrefslogtreecommitdiff
path: root/block.c
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2014-02-07 15:29:00 +0100
committerKevin Wolf <kwolf@redhat.com>2014-02-09 09:12:39 +0100
commit99c4a85ce65863e6ba6668164d47c0d7c645e3aa (patch)
treef54ea13923faad1dfd1648355b9db07cc3a7a53c /block.c
parentad6aef43d36fe65701ff84193576d7f3dcb82dc5 (diff)
downloadqemu-99c4a85ce65863e6ba6668164d47c0d7c645e3aa.tar.gz
qemu-99c4a85ce65863e6ba6668164d47c0d7c645e3aa.tar.bz2
qemu-99c4a85ce65863e6ba6668164d47c0d7c645e3aa.zip
block: Fix memory leaks in bdrv_co_do_pwritev()
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>
Diffstat (limited to 'block.c')
-rw-r--r--block.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/block.c b/block.c
index ac0ccac76d..c1d1f74b88 100644
--- 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;
}