[tor-bugs] #29899 [Core Tor/Stem]: Descriptor exit_policy can raise TypeError?
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Mar 26 09:22:56 UTC 2019
#29899: Descriptor exit_policy can raise TypeError?
-------------------------------+--------------------
Reporter: juga | Owner: atagar
Type: defect | Status: new
Priority: Medium | Milestone:
Component: Core Tor/Stem | Version:
Severity: Normal | Keywords:
Actual Points: | Parent ID:
Points: | Reviewer:
Sponsor: |
-------------------------------+--------------------
In sbws we got this traceback:
{{{
File "/usr/lib/python3/dist-packages/sbws/lib/relaylist.py", line 117,
in can_exit_to_port
if not self.exit_policy:
File "/usr/lib/python3/dist-packages/stem/exit_policy.py", line 512, in
__len__ # noqa
return len(self._get_rules())
File "/usr/lib/python3/dist-packages/stem/exit_policy.py", line 464, in
_get_rules # noqa
for rule in decompressed_rules:
TypeError: 'NoneType' object is not iterable
}}}
I'm a bit confused on what triggers that, because looking at stem code, it
does not seem that `__init__` calls `_get_rules`, but this seems to happen
when just getting the exit_policy attribute in sbws:
https://github.com/torproject/sbws/blob/master/sbws/lib/relaylist.py#L92.
In the moment _get_rules is call, this might happen because it is not
check that `_input_rules` is not None:
https://github.com/torproject/stem/blob/master/stem/exit_policy.py#L462?
Should also `_input_rules` be assigned [] instead of None in
https://github.com/torproject/stem/blob/master/stem/exit_policy.py#L507?
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/29899>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list