[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 4/6] qcow2-cluster: Fix memory leak in copy_s
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH v2 4/6] qcow2-cluster: Fix memory leak in copy_sectors |
Date: |
Wed, 28 May 2014 15:41:52 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 28.05.2014 um 15:21 hat address@hidden geschrieben:
> From: Gonglei <address@hidden>
>
> Spotted by Coverity:
>
> (3) Event alloc_fn: Storage is returned from allocation function
> "qemu_blockalign(BlockDriverState *, size_t)". [details]
> (4) Event var_assign: Assigning: "iov.iov_base" = storage returned from
> "qemu_blockalign(bs, iov.iov_len)".
> Also see events: [leaked_storage]
>
> 375 iov.iov_base = qemu_blockalign(bs, iov.iov_len);
> 376
> 377 qemu_iovec_init_external(&qiov, &iov, 1);
> 378
> 379 BLKDBG_EVENT(bs->file, BLKDBG_COW_READ);
> 380
> (5) Event cond_true: Condition "!bs->drv", taking true branch
>
> 381 if (!bs->drv) {
> (6) Event leaked_storage: Variable "iov" going out of scope leaks the
> storage "iov.iov_base" points to.
> Also see events: [alloc_fn][var_assign]
>
> 382 return -ENOMEDIUM;
> 383 }
>
> Signed-off-by: Gonglei <address@hidden>
> Reviewed-by: Stefan Hajnoczi <address@hidden>
> ---
> block/qcow2-cluster.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c
> index 76d2bcf..4208dc0 100644
> --- a/block/qcow2-cluster.c
> +++ b/block/qcow2-cluster.c
> @@ -379,7 +379,8 @@ static int coroutine_fn copy_sectors(BlockDriverState *bs,
> BLKDBG_EVENT(bs->file, BLKDBG_COW_READ);
>
> if (!bs->drv) {
> - return -ENOMEDIUM;
> + ret = -ENOMEDIUM;
> + goto out;
> }
>
> /* Call .bdrv_co_readv() directly instead of using the public block-layer
This is a duplicate of "[PATCH] qcow2: Fix memory leak in COW error
path", which is already in Stefan's current pull request.
Kevin
- [Qemu-devel] [PATCH v2 0/6] Fix some errors spotted by Coverity, arei.gonglei, 2014/05/28
- [Qemu-devel] [PATCH v2 6/6] audio: Fix using freed pointer in wav_fini_out(), arei.gonglei, 2014/05/28
- [Qemu-devel] [PATCH v2 2/6] vga: Fix divide-by-zero in vga_update_text, arei.gonglei, 2014/05/28
- [Qemu-devel] [PATCH v2 1/6] vnc-enc-tight: Fix divide-by-zero in tight_detect_smooth_image{16, 24, 32}, arei.gonglei, 2014/05/28
- [Qemu-devel] [PATCH v2 3/6] json-parser: Fix two coverity defects, arei.gonglei, 2014/05/28
- [Qemu-devel] [PATCH v2 5/6] qemu-bridge-helper: Fix fd leak in main(), arei.gonglei, 2014/05/28
- [Qemu-devel] [PATCH v2 4/6] qcow2-cluster: Fix memory leak in copy_sectors, arei.gonglei, 2014/05/28
- Re: [Qemu-devel] [PATCH v2 4/6] qcow2-cluster: Fix memory leak in copy_sectors,
Kevin Wolf <=