[gnome-documents] authorizer: check for soup_uri->query != NULL before accessing it



commit 2e463b30e6f9ea4e8b9e7c47f261f589ce6183ab
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Thu Jul 21 02:02:19 2011 -0400

    authorizer: check for soup_uri->query != NULL before accessing it
    
    As far as I can see, the field is not anywhere guaranteed to be != NULL,
    and it's actually NULL when called from e.g.
    gdata_service_query_single_entry().

 src/lib/e-gdata-goa-authorizer.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)
---
diff --git a/src/lib/e-gdata-goa-authorizer.c b/src/lib/e-gdata-goa-authorizer.c
index 0aebb64..3fd6792 100644
--- a/src/lib/e-gdata-goa-authorizer.c
+++ b/src/lib/e-gdata-goa-authorizer.c
@@ -87,13 +87,16 @@ gdata_goa_authorizer_get_parameters (SoupMessage *message,
 	 * table directly. */
 
 	soup_uri = soup_message_get_uri (message);
-	hash_table = soup_form_decode (soup_uri->query);
-	g_hash_table_iter_init (&iter, hash_table);
-	while (g_hash_table_iter_next (&iter, &key, &value)) {
-		key = (gpointer) g_intern_string (key);
-		g_hash_table_insert (parameters, key, g_strdup (value));
+
+        if (soup_uri->query != NULL) {
+		hash_table = soup_form_decode (soup_uri->query);
+		g_hash_table_iter_init (&iter, hash_table);
+		while (g_hash_table_iter_next (&iter, &key, &value)) {
+			key = (gpointer) g_intern_string (key);
+			g_hash_table_insert (parameters, key, g_strdup (value));
+		}
+		g_hash_table_destroy (hash_table);
 	}
-	g_hash_table_destroy (hash_table);
 
 	/* Add OAuth parameters. */
 



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