[libvirt] [Xen-devel] libvirt libxl driver leaking libxl_event's?

Jim Fehlig jfehlig at suse.com
Thu Apr 11 19:35:51 UTC 2013


On 04/11/2013 07:09 AM, Ian Campbell wrote:
> On Thu, 2013-04-11 at 13:46 +0100, Ian Campbell wrote:
>> Hi Jim,
>>
>> I don't see any calls to libxl_event_dispose in libvirt.git,
> actually I think I meant libxl_event_free, but I can't see that either.

Right.  I confirmed that was needed with Ian J. a few weeks (months) back, but 
then never submitted a patch.  I've attached one, but noticed that the prototype 
of the event_occurs callback defines the event parameter as const, causing this 
error without the lame cast

cc1: warnings being treated as errors
libxl/libxl_driver.c: In function 'libxlEventHandler':
libxl/libxl_driver.c:760: error: passing argument 2 of 'libxl_event_free' 
discards qualifiers from pointer target type

Shouldn't the callback in libxl_event.h just be

     void (*event_occurs)(void *user, libxl_event *event);

But I suppose we can't change that.  BTW, the const'ness of event led me to 
believe it didn't need freed.

Regards,
Jim


>
>> libxl_event.h says in relation to the event_occurs callback:
>>     * event becomes owned by the application and must be freed, either
>>     * by event_occurs or later.
>> so does this mean the memory referenced by event is leaked by
>> libxlEventHandler?
>>
>> libxl_event only contains dynamic allocations for
>> LIBXL_EVENT_TYPE_DISK_EJECT which you don't seem to register for so the
>> issue is probably benign but worth noting I think.
>>
>> Ian.
>>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel at lists.xen.org
>> http://lists.xen.org/xen-devel
>
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: libxl-event-free.patch
Type: text/x-patch
Size: 956 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130411/0ba0fff7/attachment-0001.bin>


More information about the libvir-list mailing list