From: Christian Dywan Date: Sat, 12 Dec 2009 16:40:30 +0000 (+0100) Subject: Validate uri and title in completion in case of invalid UTF-8 X-Git-Url: https://spindle.queued.net/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fb5d74d53f1017ce37df63171813fd1fb9aab94d;p=midori Validate uri and title in completion in case of invalid UTF-8 --- diff --git a/midori/midori-locationaction.c b/midori/midori-locationaction.c index d2617db3..525882c9 100644 --- a/midori/midori-locationaction.c +++ b/midori/midori-locationaction.c @@ -664,7 +664,10 @@ midori_location_entry_render_text_cb (GtkCellLayout* layout, : g_ascii_strdown (gtk_entry_get_text (GTK_ENTRY (entry)), -1); len = 0; - if (G_LIKELY (uri)) + /* g_uri_unescape_segment () sometimes produces garbage */ + if (G_UNLIKELY (uri && !g_utf8_validate (uri, -1, (const gchar **)&temp))) + temp[0]='\0'; + else if (G_LIKELY (uri)) { temp = g_utf8_strdown (uri, -1); if (key && *key && (start = strstr (temp, key))) @@ -685,7 +688,11 @@ midori_location_entry_render_text_cb (GtkCellLayout* layout, } if (uri && !desc_uri) desc_uri = g_markup_escape_text (uri, -1); - if (G_LIKELY (title)) + + /* g_uri_unescape_segment () sometimes produces garbage */ + if (G_UNLIKELY (title && !g_utf8_validate (title, -1, (const gchar **)&temp))) + temp[0]='\0'; + else if (G_LIKELY (title)) { temp = g_utf8_strdown (title, -1); if (key && *key && (start = strstr (temp, key)))