Review Request 110057: Fix mem leaks in kunitconversion

Thomas Lübking thomas.luebking at gmail.com
Wed Apr 17 14:45:08 BST 2013



> On April 16, 2013, 9:35 p.m., Christoph Feck wrote:
> > Thanks for spotting this. If this does not exceed your C++ skills, could you try creating the objects on the stack instead, so they are automatically deleted once out of scope?
> 
> Dario Cambié wrote:
>     Sorry, I've tried without success :(

It's wrong anyway, see Alberts comment.
Depending on the pointer use, you'll either have to just delete complex in the UnitPrivate (and ensure to init it as NULL) or use some shared data pointer (and delete it with the last unref)

Whether from a stack or heap object, the U macro will create data on the heap, linking pointer or reference which will dangle around when you delete it or drop out of context.


- Thomas


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/110057/#review31188
-----------------------------------------------------------


On April 16, 2013, 9:31 p.m., Dario Cambié wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/110057/
> -----------------------------------------------------------
> 
> (Updated April 16, 2013, 9:31 p.m.)
> 
> 
> Review request for kdelibs.
> 
> 
> Description
> -------
> 
> Little patch for memory leaks in kunitconversion: functions dynamically created were never deleted.
> Not sure if the patch is correct (C++ is not my language at all) but it seems to "work for me".
> 
> 
> Diffs
> -----
> 
>   kunitconversion/angle.cpp 6333925 
>   kunitconversion/fuel_efficiency.cpp 1914fab 
> 
> Diff: http://git.reviewboard.kde.org/r/110057/diff/
> 
> 
> Testing
> -------
> 
> Compiles, no more mem leaks according to valgrind.
> 
> valgrind before (e.g.):
> ==8754== 8 bytes in 1 blocks are definitely lost in loss record 110 of 644
> ==8754==    at 0x4C2AF8E: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==8754==    by 0x5A3EE11: Angle::Angle() (angle.cpp:51)
> 
> valgrind after:
> no such alert
> 
> 
> File Attachments
> ----------------
> 
> 
>   http://git.reviewboard.kde.org/media/uploaded/files/2013/04/16/0001-Fix-minor-mem-leaks-in-kunitconversion-angle-and-fue.patch
> 
> 
> Thanks,
> 
> Dario Cambié
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20130417/e9d5240b/attachment.htm>


More information about the kde-core-devel mailing list