diff -up gnome-session-2.23.2.2/gnome-session/session.c.legacy-crash gnome-session-2.23.2.2/gnome-session/session.c --- gnome-session-2.23.2.2/gnome-session/session.c.legacy-crash 2008-05-15 19:46:02.000000000 -0400 +++ gnome-session-2.23.2.2/gnome-session/session.c 2008-05-15 19:47:48.000000000 -0400 @@ -152,8 +152,13 @@ out: static void append_app (GsmSession *session, GsmApp *app) { - const char *basename = gsm_app_get_basename (app); - GsmApp *dup = g_hash_table_lookup (session->apps_by_name, basename); + const char *basename; + GsmApp *dup = NULL; + + basename = gsm_app_get_basename (app); + + if (basename) + dup = g_hash_table_lookup (session->apps_by_name, basename); if (dup) { @@ -163,7 +168,8 @@ append_app (GsmSession *session, GsmApp } session->apps = g_slist_append (session->apps, app); - g_hash_table_insert (session->apps_by_name, g_strdup (basename), app); + if (basename) + g_hash_table_insert (session->apps_by_name, g_strdup (basename), app); } static void