From: <svn...@op...> - 2009-02-24 12:46:37
|
Author: bellmich Date: Tue Feb 24 12:30:09 2009 New Revision: 942 URL: http://libsyncml.opensync.org/changeset/942 Log: fixed memory leaks discovered by dynamic build hosts The host aachen reported a memory leak because of a still used GMainContext. This context was referenced by OBEX server links and queues (sml_queue.c) without an according unref call. Modified: trunk/libsyncml/sml_queue.c trunk/libsyncml/transports/obex_server.c Modified: trunk/libsyncml/sml_queue.c ============================================================================== --- trunk/libsyncml/sml_queue.c Sat Feb 21 13:07:12 2009 (r941) +++ trunk/libsyncml/sml_queue.c Tue Feb 24 12:30:09 2009 (r942) @@ -92,7 +92,7 @@ void smlQueueFree(SmlQueue *queue) { if (queue->source) - g_source_destroy(queue->source); + smlQueueDetach(queue); if (queue->head) g_list_free(queue->head); Modified: trunk/libsyncml/transports/obex_server.c ============================================================================== --- trunk/libsyncml/transports/obex_server.c Sat Feb 21 13:07:12 2009 (r941) +++ trunk/libsyncml/transports/obex_server.c Tue Feb 24 12:30:09 2009 (r942) @@ -73,6 +73,8 @@ smlLinkDeref(linkenv->link); g_source_unref(linkenv->source); OBEX_Cleanup(linkenv->handle); + if (tsp->context) + g_main_context_unref(tsp->context); smlSafeFree((gpointer *)&linkenv); link->link_data = NULL; |