2007-01-02 Matthias Clasen <mclasen@redhat.com>
+ * glib/gbookmarkfile.c (g_bookmark_file_get_app_info):
+ Return an error if the uri is bad. (#391370, Maciej Piechotka)
+
+2007-01-02 Matthias Clasen <mclasen@redhat.com>
+
* glib/glib.symbols: Guard g_slice_debug_tree_statistics
by G_ENABLE_DEBUG. (#390940, Kazuki Iwamoto)
case 'f':
{
gchar *file = g_filename_from_uri (uri, NULL, NULL);
- g_string_append (exec, file);
- g_free (file);
+ if (file)
+ {
+ g_string_append (exec, file);
+ g_free (file);
+ }
+ else
+ {
+ g_string_free (exec, TRUE);
+ return NULL;
+ }
}
break;
case '%':
}
if (exec)
- *exec = expand_exec_line (ai->exec, uri);
-
+ {
+ *exec = expand_exec_line (ai->exec, uri);
+ if (!*exec)
+ {
+ g_set_error (error, G_BOOKMARK_FILE_ERROR,
+ G_BOOKMARK_FILE_ERROR_INVALID_URI,
+ _("Failed to expand exec line '%s' with URI '%s'"),
+ ai->exec, uri);
+ return FALSE;
+ }
+ }
+
if (count)
*count = ai->count;