[libvirt] [PATCH] Fix a memory leak in cmdSchedInfoUpdateOne
Eric Blake
eblake at redhat.com
Mon Aug 26 16:00:46 UTC 2013
On 08/26/2013 09:55 AM, Eric Blake wrote:
>> +++ b/tools/virsh-domain.c
>> @@ -4085,7 +4085,7 @@ cmdSchedInfoUpdateOne(vshControl *ctl,
>> int *nparams, int *maxparams,
>> const char *field, const char *value)
>> {
>> - virTypedParameterPtr param;
>> + virTypedParameterPtr param = NULL;
>> int ret = -1;
>> size_t i;
Looking more at the code, param is only ever set to &(src_params[i]),
which means that it is NOT allocated locally, and therefore must NOT be
freed locally.
> Unfortunately, your patch is incorrect. When applying it, and
> re-running 'make check', I get a failure:
>
> FAIL: virsh-schedinfo
> =====================
>
> ./virsh-schedinfo: line 46: 29400 Aborted (core dumped)
The test failure is because you are freeing an incorrect pointer.
>
> Please fix and resubmit.
Even better, first prove that there is a memory leak (do you have a
valgrind trace to back up your claim? What command line can be used to
demonstrate the leak?). I didn't audit whether there is a leak
somewhere else, but just on inspection, if there IS a leak, it is NOT in
cmdSchedInfoUpdateOne(), but elsewhere.
--
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/20130826/ffa4a6be/attachment-0001.sig>
More information about the libvir-list
mailing list