From: SourceForge.net <no...@so...> - 2012-06-27 14:56:08
|
Bugs item #1901737, was opened at 2008-02-25 14:38 Message generated for change (Comment added) made by buccella You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=712784&aid=1901737&group_id=128809 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: sfcb Group: Memory Leak Status: Open Resolution: None Priority: 5 Private: No Submitted By: Chris Buccella (buccella) Assigned to: Sean Swehla (smswehla) Summary: Memory leak in internalProvider.c Initial Comment: The bug is that when iterating over the assocs hashtable, the key value returned by getFirst() and getNext() is actually a char *, and not a UtilStringBuffer *. This means that the cast will fail and SFCB will probably crash. Also, the buffers returned here need to be explicitly freed as they were allocated using malloc(). By storing the result of an->ft->GetCharPtr() in the hashtable we are losing the pointer back to the UtilStringBuffer so there's no way to call release() on it. (issue reported by Tim Potter) ---------------------------------------------------------------------- >Comment By: Chris Buccella (buccella) Date: 2012-06-27 07:56 Message: Leak #2 detail: ==26982== 2,112 (64 direct, 2,048 indirect) bytes in 4 blocks are definitely lost in loss record 41 of 46 ==26982== at 0x4024A29: malloc (vg_replace_malloc.c:207) ==26982== by 0x438229E: newStringBuffer (utilStringBuffer.c:179) ==26982== by 0x406983A: normalizeObjectPathStrBuf (objectpath.c:737) ==26982== by 0x40B3524: objectPathEquals (internalProvider.c:608) ==26982== by 0x40B3F9C: getRefs (internalProvider.c:768) ==26982== by 0x40B437A: InternalProviderAssociators (internalProvider.c:834) ==26982== by 0x408F9DD: associators (providerDrv.c:2501) ==26982== by 0x40943FD: processProviderInvocationRequestsThread (providerDrv.c:3425) ==26982== by 0x438E82F: start_thread (in /lib/libpthread-2.11.1.so) ==26982== by 0x44821BD: clone (in /lib/libc-2.11.1.so) ---------------------------------------------------------------------- Comment By: Chris Buccella (buccella) Date: 2012-06-27 07:55 Message: Leak #1 detail: ==26982== 60 (12 direct, 48 indirect) bytes in 1 blocks are definitely lost in loss record 13 of 46 ==26982== at 0x4024A29: malloc (vg_replace_malloc.c:207) ==26982== by 0x406E990: memAddEncObj (support.c:569) ==26982== by 0x406EB83: memAddUtilList (support.c:602) ==26982== by 0x438115C: newList (genericlist.c:723) ==26982== by 0x40B35DE: getRefs (internalProvider.c:627) ==26982== by 0x40B437A: InternalProviderAssociators (internalProvider.c:834) ==26982== by 0x408F9DD: associators (providerDrv.c:2501) ==26982== by 0x40943FD: processProviderInvocationRequestsThread (providerDrv.c:3425) ==26982== by 0x438E82F: start_thread (in /lib/libpthread-2.11.1.so) ==26982== by 0x44821BD: clone (in /lib/libc-2.11.1.so) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=712784&aid=1901737&group_id=128809 |