spice-gtk/0001-Fix-parsing-URI-query.patch
2012-05-02 15:46:15 +02:00

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