[tor-commits] [stem/master] Drop size check from parsed messages
atagar at torproject.org
atagar at torproject.org
Thu Sep 21 17:32:55 UTC 2017
commit 8be35daeab115e59b8f8a137728d29310658101d
Author: Damian Johnson <atagar at torproject.org>
Date: Wed Sep 20 19:00:12 2017 -0700
Drop size check from parsed messages
The following regex check asserts that messages have the expected prefix. As
such we already know the message is this large.
---
stem/socket.py | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/stem/socket.py b/stem/socket.py
index 96e448bc..6dd1cb2c 100644
--- a/stem/socket.py
+++ b/stem/socket.py
@@ -560,9 +560,6 @@ def recv_message(control_file):
log.info(ERROR_MSG % ('SocketClosed', 'empty socket content'))
raise stem.SocketClosed('Received empty socket content.')
- elif len(line) < 4:
- log.info(ERROR_MSG % ('ProtocolError', 'line too short, "%s"' % log.escape(line)))
- raise stem.ProtocolError('Badly formatted reply line: too short')
elif not MESSAGE_PREFIX.match(line):
log.info(ERROR_MSG % ('ProtocolError', 'malformed status code/divider, "%s"' % log.escape(line)))
raise stem.ProtocolError('Badly formatted reply line: beginning is malformed')
@@ -570,8 +567,7 @@ def recv_message(control_file):
log.info(ERROR_MSG % ('ProtocolError', 'no CRLF linebreak, "%s"' % log.escape(line)))
raise stem.ProtocolError('All lines should end with CRLF')
- line = line[:-2] # strips off the CRLF
- status_code, divider, content = line[:3], line[3:4], line[4:]
+ status_code, divider, content = line[:3], line[3:4], line[4:-2] # strip CRLF off content
if stem.prereq.is_python_3():
status_code = stem.util.str_tools._to_unicode(status_code)
More information about the tor-commits
mailing list