[PATCH] block: Avoid memleak on qcow2 image info failure

Eric Blake posted 1 patch 4 years, 1 month ago
Test docker-mingw@fedora passed
Test docker-quick@centos7 passed
Test checkpatch passed
Test FreeBSD passed
Test asan passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200320183620.1112123-1-eblake@redhat.com
Maintainers: Max Reitz <mreitz@redhat.com>, Kevin Wolf <kwolf@redhat.com>
block/qcow2.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] block: Avoid memleak on qcow2 image info failure
Posted by Eric Blake 4 years, 1 month ago
If we fail to get bitmap info, we must not leak the encryption info.

Fixes: b8968c875f403
Fixes: Coverity CID 1421894
Signed-off-by: Eric Blake <eblake@redhat.com>
---
 block/qcow2.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/block/qcow2.c b/block/qcow2.c
index d44b45633dbb..e08917ed8462 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -4811,6 +4811,7 @@ static ImageInfoSpecific *qcow2_get_specific_info(BlockDriverState *bs,
         if (local_err) {
             error_propagate(errp, local_err);
             qapi_free_ImageInfoSpecific(spec_info);
+            qapi_free_QCryptoBlockInfo(encrypt_info);
             return NULL;
         }
         *spec_info->u.qcow2.data = (ImageInfoSpecificQCow2){
-- 
2.25.1


Re: [PATCH] block: Avoid memleak on qcow2 image info failure
Posted by Vladimir Sementsov-Ogievskiy 4 years, 1 month ago
20.03.2020 21:36, Eric Blake wrote:
> If we fail to get bitmap info, we must not leak the encryption info.
> 
> Fixes: b8968c875f403
> Fixes: Coverity CID 1421894
> Signed-off-by: Eric Blake <eblake@redhat.com>
> ---
>   block/qcow2.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/block/qcow2.c b/block/qcow2.c
> index d44b45633dbb..e08917ed8462 100644
> --- a/block/qcow2.c
> +++ b/block/qcow2.c
> @@ -4811,6 +4811,7 @@ static ImageInfoSpecific *qcow2_get_specific_info(BlockDriverState *bs,
>           if (local_err) {
>               error_propagate(errp, local_err);
>               qapi_free_ImageInfoSpecific(spec_info);
> +            qapi_free_QCryptoBlockInfo(encrypt_info);
>               return NULL;
>           }
>           *spec_info->u.qcow2.data = (ImageInfoSpecificQCow2){
> 


Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

-- 
Best regards,
Vladimir

Re: [PATCH] block: Avoid memleak on qcow2 image info failure
Posted by Andrey Shinkevich 4 years, 1 month ago

________________________________
From: Eric Blake <eblake@redhat.com>
Sent: Friday, March 20, 2020 9:36 PM
To: qemu-devel@nongnu.org <qemu-devel@nongnu.org>
Cc: peter.maydell@linaro.org <peter.maydell@linaro.org>; Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>; Kevin Wolf <kwolf@redhat.com>; Max Reitz <mreitz@redhat.com>; open list:qcow2 <qemu-block@nongnu.org>
Subject: [PATCH] block: Avoid memleak on qcow2 image info failure

If we fail to get bitmap info, we must not leak the encryption info.

Fixes: b8968c875f403
Fixes: Coverity CID 1421894
Signed-off-by: Eric Blake <eblake@redhat.com>
---

Thank you Eric.
I have made a smoke test only without the crypto object instantiation.

Andrey


Reviewed-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>

Tested-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>

Re: [PATCH] block: Avoid memleak on qcow2 image info failure
Posted by Max Reitz 4 years, 1 month ago
On 20.03.20 19:36, Eric Blake wrote:
> If we fail to get bitmap info, we must not leak the encryption info.
> 
> Fixes: b8968c875f403
> Fixes: Coverity CID 1421894
> Signed-off-by: Eric Blake <eblake@redhat.com>
> ---
>  block/qcow2.c | 1 +
>  1 file changed, 1 insertion(+)

Thanks, applied to my block branch:

https://git.xanclic.moe/XanClic/qemu/commits/branch/block

Max