Commit 5632e9fc authored by Matthias Clasen's avatar Matthias Clasen

networkaddress: Fix userinfo parsing in uris

The code that is checking the userinfo part was accidentally
given a pointer to the end of the userinfo, so it was not
checking the right portion of the string at all.
parent 2a1ea409
......@@ -475,15 +475,15 @@ _g_uri_parse_authority (const char *uri,
return FALSE;
start += 2;
p = strchr (start, '@');
if (p != NULL)
if (strchr (start, '@') != NULL)
{
/* Decode userinfo:
* userinfo = *( unreserved / pct-encoded / sub-delims / ":" )
* unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
* pct-encoded = "%" HEXDIG HEXDIG
*/
p = start;
while (1)
{
c = *p++;
......@@ -504,7 +504,7 @@ _g_uri_parse_authority (const char *uri,
}
/* unreserved / sub-delims / : */
if (!(g_ascii_isalnum(c) ||
if (!(g_ascii_isalnum (c) ||
strchr (G_URI_OTHER_UNRESERVED, c) ||
strchr (G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS, c) ||
c == ':'))
......@@ -540,7 +540,7 @@ _g_uri_parse_authority (const char *uri,
break;
/* unreserved / sub-delims */
if (!(g_ascii_isalnum(c) ||
if (!(g_ascii_isalnum (c) ||
strchr (G_URI_OTHER_UNRESERVED, c) ||
strchr (G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS, c) ||
c == ':' ||
......@@ -574,7 +574,7 @@ _g_uri_parse_authority (const char *uri,
}
/* unreserved / sub-delims */
if (!(g_ascii_isalnum(c) ||
if (!(g_ascii_isalnum (c) ||
strchr (G_URI_OTHER_UNRESERVED, c) ||
strchr (G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS, c)))
goto error;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment