From: Christian Dywan Date: Thu, 19 Nov 2009 15:58:43 +0000 (-0600) Subject: BugĀ 600550 - (...) doesn't treat arguments properly X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=77baa70eda24be0049d09123e4b81b1f03817110;p=dana%2Fcg-glib.git BugĀ 600550 - (...) doesn't treat arguments properly Add some additional checking to g_app_info_create_from_commandline to make it handle strange inputs more elegantly. --- diff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c index 187ce4a2..77704441 100644 --- a/gio/gdesktopappinfo.c +++ b/gio/gdesktopappinfo.c @@ -1607,6 +1607,8 @@ g_app_info_create_from_commandline (const char *commandline, char *basename; GDesktopAppInfo *info; + g_return_val_if_fail (commandline, NULL); + info = g_object_new (G_TYPE_DESKTOP_APP_INFO, NULL); info->filename = NULL; @@ -1628,7 +1630,7 @@ g_app_info_create_from_commandline (const char *commandline, { /* FIXME: this should be more robust. Maybe g_shell_parse_argv and use argv[0] */ split = g_strsplit (commandline, " ", 2); - basename = g_path_get_basename (split[0]); + basename = split[0] ? g_path_get_basename (split[0]) : NULL; g_strfreev (split); info->name = basename; if (info->name == NULL)