etrunko / rpms / spice-gtk

Forked from rpms/spice-gtk 4 years ago
Clone
Blob Blame History Raw
From da0071300e1191f26757b4cf5146418c8b1db997 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
Date: Wed, 2 May 2012 14:01:16 +0200
Subject: [PATCH spice-gtk] Fix parsing URI query

Do not depend on uninitialized "len" variable to set the query string.

https://bugzilla.redhat.com/show_bug.cgi?id=818169
---
 gtk/spice-session.c |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/gtk/spice-session.c b/gtk/spice-session.c
index 959e099..b3c66ce 100644
--- a/gtk/spice-session.c
+++ b/gtk/spice-session.c
@@ -249,7 +249,6 @@ static int spice_uri_parse(SpiceSession *session, const char *original_uri)
     gchar key[32], value[128];
     gchar *host = NULL, *port = NULL, *tls_port = NULL, *uri = NULL, *password = NULL;
     gchar **target_key;
-    int len;
     gchar *path = NULL;
     gchar *authority = NULL;
     gchar *query = NULL;
@@ -277,12 +276,10 @@ static int spice_uri_parse(SpiceSession *session, const char *original_uri)
 
     if (path) {
         size_t prefix = strcspn(path, URI_QUERY_START);
-        if (len)
-            query = path + prefix;
+        query = path + prefix;
     } else {
         size_t prefix = strcspn(authority, URI_QUERY_START);
-        if (len)
-            query = authority + prefix;
+        query = authority + prefix;
     }
 
     if (query && query[0]) {
@@ -320,6 +317,7 @@ static int spice_uri_parse(SpiceSession *session, const char *original_uri)
     }
 
     while (query && query[0] != '\0') {
+        int len;
         if (sscanf(query, "%31[-a-zA-Z0-9]=%127[^;&]%n", key, value, &len) != 2) {
             g_warning("Failed to parse URI query '%s'", query);
             goto fail;
-- 
1.7.10