aboutsummaryrefslogtreecommitdiffstats
path: root/url.c
diff options
context:
space:
mode:
authorTatsuya Kinoshita <tats@debian.org>2016-11-17 11:19:55 +0000
committerTatsuya Kinoshita <tats@debian.org>2016-11-17 11:19:55 +0000
commitba9d78faeba9024c3e8840579c3b0e959ae2cb0f (patch)
tree70ca8a9272467113b7f91e91734a4121bb557c9e /url.c
parentPrevent deref null pointer in HTMLlineproc0() (diff)
downloadw3m-ba9d78faeba9024c3e8840579c3b0e959ae2cb0f.tar.gz
w3m-ba9d78faeba9024c3e8840579c3b0e959ae2cb0f.zip
Prevent global-buffer-overflow in parseURL()
Bug-Debian: https://github.com/tats/w3m/issues/41
Diffstat (limited to '')
-rw-r--r--url.c5
1 files changed, 4 insertions, 1 deletions
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: