diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | gtk/gtkicontheme.c | 2 |
2 files changed, 10 insertions, 1 deletions
@@ -1,3 +1,12 @@ +2007-02-26 Chris Wilson <chris@chris-wilson.co.uk> + + Bug 409101 – invalid read to gtkicontheme.c insert_theme(), might cause gnome-panel crash + + * gtk/gtkicontheme.c: (scan_directory): + Reorder the replacement of the shared base_name key, so that we + avoid dereferencing the string in the icon_theme->all_icon + hash table after freeing it from the dir->icons hash table. + 2007-02-26 Tor Lillqvist <tml@novell.com> * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon_name): Add diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 2e404e788f..3133935a21 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -2203,8 +2203,8 @@ scan_directory (GtkIconThemePrivate *icon_theme, base_name = strip_suffix (name); hash_suffix = GPOINTER_TO_INT (g_hash_table_lookup (dir->icons, base_name)); - g_hash_table_replace (dir->icons, base_name, GUINT_TO_POINTER (hash_suffix| suffix)); g_hash_table_insert (icon_theme->all_icons, base_name, NULL); + g_hash_table_replace (dir->icons, base_name, GUINT_TO_POINTER (hash_suffix| suffix)); } g_dir_close (gdir); |