From fa00f3e50a4a5a16ca00b08308f7fa6008b45d3e Mon Sep 17 00:00:00 2001 From: Brian Cameron Date: Fri, 24 Apr 2009 17:20:03 -0500 Subject: [PATCH] Fix casting problem in gmodule code. This fixes bug 579884. Previously the return value of g_slist_find_custom was being recasted as type (GtkModuleInfo *). This patch sets the return value to a temporary variable of type (GSList *), and sets info to temp->data. This avoids a crashing problem. --- gtk/gtkmodules.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c index dddee9d550..a6b40d88b5 100644 --- a/gtk/gtkmodules.c +++ b/gtk/gtkmodules.c @@ -289,9 +289,16 @@ load_module (GSList *module_list, g_module_close (module); else { + GSList *temp; + success = TRUE; - info = (GtkModuleInfo *) g_slist_find_custom (gtk_modules, module, - (GCompareFunc)cmp_module); + info = NULL; + + temp = g_slist_find_custom (gtk_modules, module, + (GCompareFunc)cmp_module); + if (temp != NULL) + info = temp->data; + if (!info) { info = g_new0 (GtkModuleInfo, 1);