[libvirt] [PATCH] virbitmaptest: Shut coverity up in case of broken test

Eric Blake eblake at redhat.com
Mon Aug 19 13:12:25 UTC 2013


On 08/19/2013 06:11 AM, Peter Krempa wrote:
> Coverity reported a memleak in the test added in 7efd5fd1b02. In case
> the code will be broken and the code will actually parse a faulty bitmap
> the resulting pointer would be leaked. Free it although that shouldn't
> ever happen.
> ---
>  tests/virbitmaptest.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/tests/virbitmaptest.c b/tests/virbitmaptest.c
> index c56d6fa..e00b0a0 100644
> --- a/tests/virbitmaptest.c
> +++ b/tests/virbitmaptest.c
> @@ -492,6 +492,7 @@ test9(const void *opaque ATTRIBUTE_UNUSED)
> 
>      ret = 0;
>  cleanup:
> +    virBitmapFree(bitmap);

Hmm - in this function, bitmap starts life uninitialized, but
virBitmapParse starts with 'if (!str) return -1;' prior to '*bitmap =
...'.  Therefore, it is possible that Coverity may complain about
getting to the cleanup function and freeing uninitialized memory.

It may be worth improving virBitmapParse to do '*bitmap = NULL' prior to
any return value, so that the caller always has an initialized variable
after the call.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130819/42da1b1f/attachment-0001.sig>


More information about the libvir-list mailing list