summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/spice-uri.c3
-rw-r--r--tests/uri.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/spice-uri.c b/src/spice-uri.c
index 9f793de..ea25aaa 100644
--- a/src/spice-uri.c
+++ b/src/spice-uri.c
@@ -176,6 +176,9 @@ gboolean spice_uri_parse(SpiceURI *self, const gchar *_uri, GError **error)
g_set_error(error, SPICE_CLIENT_ERROR, SPICE_CLIENT_ERROR_FAILED,
"Invalid uri port: %s", uri_port);
goto end;
+ } else if (endptr == uri_port) {
+ g_set_error(error, SPICE_CLIENT_ERROR, SPICE_CLIENT_ERROR_FAILED, "Missing uri port");
+ goto end;
}
spice_uri_set_port(self, port);
}
diff --git a/tests/uri.c b/tests/uri.c
index d57f072..ee3d061 100644
--- a/tests/uri.c
+++ b/tests/uri.c
@@ -75,6 +75,7 @@ static void test_spice_uri_ipv4_bad(void)
{"http://", "http", NULL, 3128, NULL, NULL, "Invalid hostname in uri address"},
{"http://127.0.0.1:port", "http", "127.0.0.1", 3128, NULL, NULL,
"Invalid uri port: port"},
+ {"http://127.0.0.1:", "http", "127.0.0.1", 3128, NULL, NULL, "Missing uri port"},
};
test_spice_uri_bad(invalid_test_cases, G_N_ELEMENTS(invalid_test_cases));