[clutter] gdk: fix memory corruption



commit 5b9c31a0cece7852a22a76e24a4738cb4c773d1d
Author: Lionel Landwerlin <llandwerlin gmail com>
Date:   Tue Aug 25 00:13:49 2015 +0100

    gdk: fix memory corruption
    
    g_hash_table_replace will free the list pointer we're modifying.
    Let's just do memory management ourselves.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754134

 clutter/gdk/clutter-master-clock-gdk.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/clutter/gdk/clutter-master-clock-gdk.c b/clutter/gdk/clutter-master-clock-gdk.c
index 91872c4..6a4a480 100644
--- a/clutter/gdk/clutter-master-clock-gdk.c
+++ b/clutter/gdk/clutter-master-clock-gdk.c
@@ -310,6 +310,7 @@ clutter_master_clock_gdk_remove_stage_clock (ClutterMasterClockGdk *master_clock
                                                 clutter_master_clock_gdk_update,
                                                 master_clock);
           g_hash_table_remove (master_clock->clock_to_stage, frame_clock);
+          g_list_free (stages);
         }
       else
         {
@@ -461,7 +462,7 @@ clutter_master_clock_gdk_init (ClutterMasterClockGdk *self)
   const GSList *stages, *l;
 
   self->clock_to_stage = g_hash_table_new_full (g_direct_hash, g_direct_equal,
-                                                g_object_unref, (GDestroyNotify) g_list_free);
+                                                g_object_unref, NULL);
   self->stage_to_clock = g_hash_table_new_full (g_direct_hash, g_direct_equal,
                                                 NULL, g_object_unref);
 


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