Commit 2fc5a508 authored by Senthil Kumaran's avatar Senthil Kumaran

Issue #14036: return None when port in urlparse cross 65535

parent 346c5de0
......@@ -524,6 +524,11 @@ class UrlParseTestCase(unittest.TestCase):
self.assertEqual(p.port, 80)
self.assertEqual(p.geturl(), url)
# Verify an illegal port is returned as None
url = b"HTTP://WWW.PYTHON.ORG:65536/doc/#frag"
p = urllib.parse.urlsplit(url)
self.assertEqual(p.port, None)
def test_attributes_bad_port(self):
"""Check handling of non-integer ports."""
p = urllib.parse.urlsplit("http://www.example.net:foo")
......
......@@ -143,6 +143,9 @@ class _NetlocResultMixinBase(object):
port = self._hostinfo[1]
if port is not None:
port = int(port, 10)
# Return None on an illegal port
if not ( 0 <= port <= 65535):
return None
return port
......
......@@ -67,6 +67,9 @@ Core and Builtins
Library
-------
- Issue #14036: Add an additional check to validate that port in urlparse does
not go in illegal range and returns None.
- Issue #14875: Use float('inf') instead of float('1e66666') in the json module.
- Issue #14426: Correct the Date format in Expires attribute of Set-Cookie
......
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