[grilo] net: Handle invalid URLs



commit 36dbe5b0720417cb85c73a62e4a5c6bdcbe2303a
Author: Juan A. Suarez Romero <jasuarez igalia com>
Date:   Fri Aug 9 10:30:52 2013 +0200

    net: Handle invalid URLs
    
    For non valid URLs, return an error in the async result.

 libs/net/grl-net-wc.c |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)
---
diff --git a/libs/net/grl-net-wc.c b/libs/net/grl-net-wc.c
index 0490bf8..08db71e 100644
--- a/libs/net/grl-net-wc.c
+++ b/libs/net/grl-net-wc.c
@@ -695,12 +695,27 @@ get_url_now (GrlNetWc *self,
 
 #ifdef LIBSOUP_REQUESTER_DEPRECATED
   SoupURI *uri = soup_uri_new (url);
-  rr->request = soup_session_request_uri (priv->session, uri, NULL);
-  soup_uri_free (uri);
+  if (uri) {
+    rr->request = soup_session_request_uri (priv->session, uri, NULL);
+    soup_uri_free (uri);
+  } else {
+    rr->request = NULL;
+  }
 #else
   rr->request = soup_requester_request (priv->requester, url, NULL);
 #endif
 
+  if (!rr->request) {
+    g_simple_async_result_set_error (G_SIMPLE_ASYNC_RESULT (result),
+                                     GRL_NET_WC_ERROR,
+                                     GRL_NET_WC_ERROR_UNAVAILABLE,
+                                     _("Invalid URL %s"),
+                                     url);
+    g_simple_async_result_complete (G_SIMPLE_ASYNC_RESULT (result));
+    g_object_unref (result);
+    return;
+  }
+
   if (headers != NULL) {
     SoupMessage *message;
     GHashTableIter iter;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]