Bug 409101 – invalid read to gtkicontheme.c insert_theme(), might cause

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.


svn path=/trunk/; revision=17353
This commit is contained in:
Chris Wilson 2007-02-26 14:09:21 +00:00 committed by Chris Wilson
parent cf9ae54980
commit e2a74a9bd9
2 changed files with 10 additions and 1 deletions

View File

@ -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

View File

@ -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);