From: Christian Dywan Date: Tue, 3 Jan 2012 22:47:11 +0000 (+0100) Subject: Only strip referrer from valid Soup URI X-Git-Url: https://spindle.queued.net/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=57b093293a1ad2d67c5659cc319f3bcedbada721;p=midori Only strip referrer from valid Soup URI Fixes: https://bugs.launchpad.net/midori/+bug/909415 --- diff --git a/midori/main.c b/midori/main.c index 3800457e..e7843d12 100644 --- a/midori/main.c +++ b/midori/main.c @@ -958,16 +958,19 @@ midori_soup_session_settings_accept_language_cb (SoupSession* session, if (referer && destination && !strstr (referer, destination->host)) { SoupURI* stripped_uri = soup_uri_new (referer); - gchar* stripped_referer; - soup_uri_set_path (stripped_uri, NULL); - soup_uri_set_query (stripped_uri, NULL); - stripped_referer = soup_uri_to_string (stripped_uri, FALSE); - soup_uri_free (stripped_uri); - if (g_getenv ("MIDORI_SOUP_DEBUG")) - g_message ("Referer stripped"); - soup_message_headers_replace (msg->request_headers, "Referer", - stripped_referer); - g_free (stripped_referer); + if (stripped_uri != NULL) + { + gchar* stripped_referer; + soup_uri_set_path (stripped_uri, NULL); + soup_uri_set_query (stripped_uri, NULL); + stripped_referer = soup_uri_to_string (stripped_uri, FALSE); + soup_uri_free (stripped_uri); + if (g_getenv ("MIDORI_SOUP_DEBUG")) + g_message ("Referer %s stripped to %s", referer, stripped_referer); + soup_message_headers_replace (msg->request_headers, "Referer", + stripped_referer); + g_free (stripped_referer); + } } } }