
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. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org