Commit b368f50e authored by John Ralls's avatar John Ralls Committed by Federico Mena Quintero

bgo#514843 - [filechooser] Deal with corrupted .gtk-bookmarks gracefully

We weren't checking for the lines in that file being valid UTF-8 strings.
parent 95191779
......@@ -264,6 +264,9 @@ read_bookmarks (GFile *file)
if (!*lines[i])
continue;
if (!g_utf8_validate (lines[i], -1, NULL))
continue;
bookmark = g_slice_new0 (GtkFileSystemBookmark);
if ((space = strchr (lines[i], ' ')) != NULL)
......@@ -289,23 +292,25 @@ save_bookmarks (GFile *bookmarks_file,
{
GError *error = NULL;
GString *contents;
GSList *l;
contents = g_string_new ("");
while (bookmarks)
for (l = bookmarks; l; l = l->next)
{
GtkFileSystemBookmark *bookmark;
GtkFileSystemBookmark *bookmark = l->data;
gchar *uri;
bookmark = bookmarks->data;
uri = g_file_get_uri (bookmark->file);
if (!uri)
continue;
g_string_append (contents, uri);
if (bookmark->label)
g_string_append_printf (contents, " %s", bookmark->label);
g_string_append_c (contents, '\n');
bookmarks = bookmarks->next;
g_free (uri);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment