[evolution/gnome-3-6] Relative URI can crash Evolution in http_request_send_async()
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution/gnome-3-6] Relative URI can crash Evolution in http_request_send_async()
- Date: Tue, 13 Nov 2012 12:37:43 +0000 (UTC)
commit b6868d791252fe28ce54f9d4e8841a39e7f932f2
Author: Milan Crha <mcrha redhat com>
Date: Tue Nov 13 13:37:20 2012 +0100
Relative URI can crash Evolution in http_request_send_async()
mail/e-http-request.c | 8 ++++++--
mail/e-mail-display.c | 3 ++-
2 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/mail/e-http-request.c b/mail/e-http-request.c
index dbf2452..ddf80d4 100644
--- a/mail/e-http-request.c
+++ b/mail/e-http-request.c
@@ -168,7 +168,9 @@ handle_http_request (GSimpleAsyncResult *res,
/* Remove the __evo-mail query */
soup_uri = soup_request_get_uri (SOUP_REQUEST (request));
- query = soup_form_decode (soup_uri->query);
+ g_return_if_fail (soup_uri_get_query (soup_uri) != NULL);
+
+ query = soup_form_decode (soup_uri_get_query (soup_uri));
mail_uri = g_hash_table_lookup (query, "__evo-mail");
if (mail_uri)
mail_uri = g_strdup (mail_uri);
@@ -432,7 +434,9 @@ http_request_send_async (SoupRequest *request,
ehr = E_HTTP_REQUEST (request);
uri = soup_request_get_uri (request);
- query = soup_form_decode (uri->query);
+ g_return_if_fail (soup_uri_get_query (uri) != NULL);
+
+ query = soup_form_decode (soup_uri_get_query (uri));
d ({
gchar *uri_str = soup_uri_to_string (uri, FALSE);
diff --git a/mail/e-mail-display.c b/mail/e-mail-display.c
index 5e33ccd..a544518 100644
--- a/mail/e-mail-display.c
+++ b/mail/e-mail-display.c
@@ -355,7 +355,8 @@ mail_display_resource_requested (WebKitWebView *web_view,
/* Redirect http(s) request to evo-http(s) protocol.
* See EMailRequest for further details about this. */
- } else if (g_str_has_prefix (uri, "http:") || g_str_has_prefix (uri, "https")) {
+ } else if (g_str_has_prefix (uri, "http:") || g_str_has_prefix (uri, "https:") ||
+ g_str_has_prefix (uri, "evo-http:") || g_str_has_prefix (uri, "evo-https:")) {
gchar *new_uri, *mail_uri, *enc;
SoupURI *soup_uri;
GHashTable *query;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]