diff options
-rw-r--r-- | utils/nsurl/parse.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/utils/nsurl/parse.c b/utils/nsurl/parse.c index 453c56523..a56a78d2d 100644 --- a/utils/nsurl/parse.c +++ b/utils/nsurl/parse.c @@ -818,6 +818,11 @@ static nserror nsurl__create_from_section(const char * const url_s, url->username = NULL; url->password = NULL; + /* file: URLs don't have credentials */ + if (url->scheme_type == NSURL_SCHEME_FILE) { + break; + } + if (length != 0 && *norm_start != ':') { char *sec_start = norm_start; if (pegs->colon_first != pegs->authority && @@ -854,6 +859,11 @@ static nserror nsurl__create_from_section(const char * const url_s, url->host = NULL; url->port = NULL; + /* file: URLs don't have a host */ + if (url->scheme_type == NSURL_SCHEME_FILE) { + break; + } + if (length != 0) { size_t colon = 0; char *sec_start = norm_start; |