51 lines
1.7 KiB
Diff
51 lines
1.7 KiB
Diff
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
|
|
|