[libvirt] [PATCH] conf: fix memory leak of class_id bitmap

Guannan Ren gren at redhat.com
Thu Mar 28 04:04:41 UTC 2013


On 03/28/2013 01:45 AM, Eric Blake wrote:
> On 03/27/2013 09:35 AM, Guannan Ren wrote:
>> When libvirtd loads active network configs from network state directory,
>> it should release the class_id memory block which was allocated
>> at the time of loading xml from network config directory.
>> virBitmapParse will create a new memory block of bitmap class_id which
>> causes a memory leak.
>>
>> This happens when at least one virtual network is active before.
>>
>>           class_id = virXPathString("string(./class_id[1]/@bitmap)", ctxt);
>> -        if (class_id &&
>> -            virBitmapParse(class_id, 0,
>> +        if (class_id) {
>> +            virBitmapFree(net->class_id);
>> +            if (virBitmapParse(class_id, 0,
>>                              &net->class_id, CLASS_ID_BITMAP_SIZE) < 0) {
> Indentation is off on this line as a result.
>
> ACK, and worth pushing for 1.0.4.
>

     Pushed with indentation fixed.
     Thanks for the review

     Guannan




More information about the libvir-list mailing list