From 2f7e0badb456953779596dade2b239117fbcd81d Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Fri, 20 Feb 2015 14:29:36 +0100 Subject: [PATCH] handle_http_request: Skip invalid URIs It wasn't checked whether the passed-in URI was correct, but the message object returned from soup_message_new() was dereferenced anyway, which could cause a crash. --- mail/e-http-request.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mail/e-http-request.c b/mail/e-http-request.c index 39ceb56654..afe09cffcb 100644 --- a/mail/e-http-request.c +++ b/mail/e-http-request.c @@ -361,6 +361,12 @@ handle_http_request (GSimpleAsyncResult *res, GError *error; GMainContext *context; + message = soup_message_new (SOUP_METHOD_GET, uri); + if (!message) { + g_debug ("%s: Skipping invalid URI '%s'", G_STRFUNC, uri); + goto cleanup; + } + context = g_main_context_new (); g_main_context_push_thread_default (context); @@ -372,7 +378,6 @@ handle_http_request (GSimpleAsyncResult *res, temp_session, "proxy-resolver", G_BINDING_SYNC_CREATE); - message = soup_message_new (SOUP_METHOD_GET, uri); soup_message_headers_append ( message->request_headers, "User-Agent", "Evolution/" VERSION);