From ba9d78faeba9024c3e8840579c3b0e959ae2cb0f Mon Sep 17 00:00:00 2001 From: Tatsuya Kinoshita Date: Thu, 17 Nov 2016 20:19:55 +0900 Subject: Prevent global-buffer-overflow in parseURL() Bug-Debian: https://github.com/tats/w3m/issues/41 --- url.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'url.c') diff --git a/url.c b/url.c index c90cd9f..0378913 100644 --- a/url.c +++ b/url.c @@ -841,7 +841,10 @@ parseURL(char *url, ParsedURL *p_url, ParsedURL *current) case '#': p_url->host = copyPath(q, p - q, COPYPATH_SPC_IGNORE | COPYPATH_LOWERCASE); - p_url->port = DefaultPort[p_url->scheme]; + if (p_url->scheme != SCM_UNKNOWN) + p_url->port = DefaultPort[p_url->scheme]; + else + p_url->port = 0; break; } analyze_file: -- cgit v1.2.3