From c56379264dd8714bdf08675927a5e59debaa7fc3 Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Tue, 17 Aug 2010 18:38:46 +0200 Subject: [PATCH] Plug a mem leak in GDBusWorker Free the read buffer. ==26538== 4,096 bytes in 1 blocks are definitely lost in loss record 781 of 781 ==26538== at 0x4005BDC: malloc (vg_replace_malloc.c:195) ==26538== by 0x4005C66: realloc (vg_replace_malloc.c:476) ==26538== by 0x405244D: g_realloc (gmem.c:181) ==26538== by 0x420E066: _g_dbus_worker_do_read_unlocked (gdbusprivate.c:780) ==26538== by 0x420E1D1: _g_dbus_worker_do_read (gdbusprivate.c:812) ==26538== by 0x420F14A: _g_dbus_worker_thread_begin_func (gdbusprivate.c:1318) ==26538== by 0x420D2ED: invoke_caller (gdbusprivate.c:266) ==26538== by 0x404DA7C: g_idle_dispatch (gmain.c:4224) ==26538== by 0x4049FCD: g_main_dispatch (gmain.c:2119) ==26538== by 0x404B2C1: g_main_context_dispatch (gmain.c:2672) ==26538== by 0x404B716: g_main_context_iterate (gmain.c:2750) ==26538== by 0x404BE7F: g_main_loop_run (gmain.c:2958) ==26538== by 0x420D2B5: shared_thread_func (gdbusprivate.c:248) ==26538== by 0x4077958: g_thread_create_proxy (gthread.c:1897) ==26538== by 0x57D918: start_thread (pthread_create.c:301) ==26538== by 0x4C6CBD: clone (clone.S:133) Bug #627187. --- gio/gdbusprivate.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gio/gdbusprivate.c b/gio/gdbusprivate.c index 60f9bbf..d4d7a0b 100644 --- a/gio/gdbusprivate.c +++ b/gio/gdbusprivate.c @@ -445,6 +445,8 @@ _g_dbus_worker_unref (GDBusWorker *worker) g_queue_foreach (worker->write_queue, (GFunc) message_to_write_data_free, NULL); g_queue_free (worker->write_queue); + g_free (worker->read_buffer); + g_free (worker); } } -- 2.7.4