[glib] Plug a mem leak in GDBusWorker



commit c56379264dd8714bdf08675927a5e59debaa7fc3
Author: Christian Persch <chpe gnome org>
Date:   Tue Aug 17 18:38:46 2010 +0200

    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 files changed, 2 insertions(+), 0 deletions(-)
---
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);
     }
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]