[Kde-pim] [PATCH] Memory leak in IMAP IOSlave

Tomi Junnila topeju at badzilla.net
Wed Feb 25 00:09:52 GMT 2009


Hi all,

I've been looking at some memory leaks with kmail recently, and ran across 
another one (thanks to Chusslove Illich for a pointer to the Techbase 
article on debugging IOSlaves).

The most recent problem I have found is that the IMAP IOSlave leaks memory 
because it doesn't delete the commands it creates (the QList in Qt4 
doesn't seem to autodelete).

I've attached a Valgrind log that show the results of running kmail for a 
few minutes, and clicking the "Check Mail" button a few times.

The second attachment is a proposed patch that simply deletes each command 
as soon as it has been removed from the completeQueue (the patch would 
benefit from a refactoring: a utility function should be made to combine 
the two operations). I have tested the patch, and Valgrind no longer 
reports memory leaks of this type (there are some others still left, but 
they are smaller). The patch is for 4.2.0, but did succeed with the latest 
version in SVN also (although with a 12-line offset in 
kioslave/imap4/imap4.cpp).

I've not filed a bug on bugs.kde.org yet as it seems to be down (with a 
comment that it's offline to celebrate the KDE 4.2.0 release and request 
to come back on Jan 28).


-- 
Tomi Junnila <topeju at badzilla.net>
http://topeju.badzilla.net/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: kio_imap4.valgrind.log
Type: text/x-log
Size: 11759 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20090225/7b7b0e51/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: imap-leak.diff
Type: text/x-patch
Size: 15487 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20090225/7b7b0e51/attachment-0001.bin>
-------------- next part --------------
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list