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