aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--applets/mb-applet-menu-launcher.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5973483..7af1d60 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-09-26 mallum,,, <mallum@openedhand.com>
+
+ * applets/mb-applet-menu-launcher.c: (build_menu):
+ Fix potential segv on parsing corrupt .directory files.
+
2005-09-15 mallum <mallum@openedhand.com>
* applets/Makefile.am:
diff --git a/applets/mb-applet-menu-launcher.c b/applets/mb-applet-menu-launcher.c
index 45dd483..0c7b211 100644
--- a/applets/mb-applet-menu-launcher.c
+++ b/applets/mb-applet-menu-launcher.c
@@ -438,6 +438,11 @@ build_menu(void)
mb_dot_desktop_folders_enumerate(ddfolders, ddentry)
{
char *icon_path = NULL;
+ char *folder_name = NULL;
+
+ /* Check Name is valid for entry */
+ if ((folder_name = mb_dot_desktop_folder_entry_get_name(ddentry)) == NULL)
+ continue;
if (mb_dot_desktop_folder_entry_get_icon(ddentry))
icon_path = mb_dot_desktop_icon_get_full_path (app_data->theme_name,
@@ -445,7 +450,7 @@ build_menu(void)
mb_dot_desktop_folder_entry_get_icon(ddentry) );
menu_lookup[i].item = mb_menu_add_path(app_data->mbmenu,
- mb_dot_desktop_folder_entry_get_name(ddentry),
+ folder_name,
icon_path, MBMENU_NO_SORT );
menu_lookup[i].match_str = mb_dot_desktop_folder_entry_get_match(ddentry);