Kaydet (Commit) 37484dc3 authored tarafından Senthil Kumaran's avatar Senthil Kumaran

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

üst cd8799f0
...@@ -437,6 +437,11 @@ class UrlParseTestCase(unittest.TestCase): ...@@ -437,6 +437,11 @@ class UrlParseTestCase(unittest.TestCase):
self.assertEqual(p.port, 80) self.assertEqual(p.port, 80)
self.assertEqual(p.geturl(), url) self.assertEqual(p.geturl(), url)
# Verify an illegal port of value greater than 65535 is set as None
url = "http://www.python.org:65536"
p = urlparse.urlsplit(url)
self.assertEqual(p.port, None)
def test_issue14072(self): def test_issue14072(self):
p1 = urlparse.urlsplit('tel:+31-641044153') p1 = urlparse.urlsplit('tel:+31-641044153')
self.assertEqual(p1.scheme, 'tel') self.assertEqual(p1.scheme, 'tel')
......
...@@ -97,8 +97,10 @@ class ResultMixin(object): ...@@ -97,8 +97,10 @@ class ResultMixin(object):
netloc = self.netloc.split('@')[-1].split(']')[-1] netloc = self.netloc.split('@')[-1].split(']')[-1]
if ':' in netloc: if ':' in netloc:
port = netloc.split(':')[1] port = netloc.split(':')[1]
return int(port, 10) port = int(port, 10)
else: # verify legal port
if (0 <= port <= 65535):
return port
return None return None
from collections import namedtuple from collections import namedtuple
......
...@@ -64,6 +64,9 @@ Core and Builtins ...@@ -64,6 +64,9 @@ Core and Builtins
Library Library
------- -------
- Issue #14036: Add an additional check to validate that port in urlparse does
not go in illegal range and returns None.
- Issue #14888: Fix misbehaviour of the _md5 module when called on data - Issue #14888: Fix misbehaviour of the _md5 module when called on data
larger than 2**32 bytes. larger than 2**32 bytes.
......
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