[tor-commits] [bridgedb/master] Stop parsing immediately if there is an invalid port in an addr.PortList.
isis at torproject.org
isis at torproject.org
Sun Jan 12 06:06:33 UTC 2014
commit dd6eea76b85d7f71f108ea3cc55df0638521655e
Author: Isis Lovecruft <isis at torproject.org>
Date: Sat Dec 7 04:41:07 2013 +0000
Stop parsing immediately if there is an invalid port in an addr.PortList.
This ensures that an addr.InvalidPort exception is raised when an invalid port
is discovered, without continuing to parse the rest of the ports. The end
result, i.e. when/if an exception is raised, stays exactly the same. This just
operates more efficiently when there is a bad port number.
---
lib/bridgedb/parse/addr.py | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/lib/bridgedb/parse/addr.py b/lib/bridgedb/parse/addr.py
index 3d8c9b9..ed00925 100644
--- a/lib/bridgedb/parse/addr.py
+++ b/lib/bridgedb/parse/addr.py
@@ -331,9 +331,9 @@ class PortList(object):
if isinstance(arg, basestring):
ports = set([int(p)
for p in arg.split(',')][:self.PORTSPEC_LEN])
- portlist.extend([p for p in ports])
+ portlist.extend([self._sanitycheck(p) for p in ports])
if isinstance(arg, int):
- portlist.extend(arg)
+ portlist.append(self._sanitycheck(arg))
if isinstance(arg, PortList):
self.add(list(arg.ports))
except ValueError:
@@ -341,7 +341,6 @@ class PortList(object):
except InvalidPort:
raise
- [self._sanitycheck(port) for port in portlist]
self.ports.update(portlist)
def __iter__(self):
More information about the tor-commits
mailing list