Do not try to resolve URIs without a host
authorXan Lopez <xan@gnome.org>
Sat, 20 Mar 2010 21:29:03 +0000 (23:29 +0200)
committerXan Lopez <xan@gnome.org>
Sat, 3 Apr 2010 17:16:11 +0000 (19:16 +0200)
WebKit feeds to us URIs without any host whatsoever (for example,
javascript: URIs), which make libsoup spew a lot of runtime warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=613442

libsoup/soup-session.c

index 59342e9..4068804 100644 (file)
@@ -1781,10 +1781,18 @@ soup_session_abort (SoupSession *session)
 void
 soup_session_prepare_for_uri (SoupSession *session, SoupURI *uri)
 {
-       SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
+       SoupSessionPrivate *priv;
        SoupSessionHost *host;
        SoupAddress *addr;
 
+       g_return_if_fail (SOUP_IS_SESSION (session));
+       g_return_if_fail (uri != NULL);
+
+       if (!uri->host)
+               return;
+
+       priv = SOUP_SESSION_GET_PRIVATE (session);
+
        g_mutex_lock (priv->host_lock);
        host = get_host_for_uri (session, uri);
        addr = g_object_ref (host->addr);