diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2015-05-31 17:18:55 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2015-05-31 17:18:55 +1200 |
commit | f7bd690e3aba0be05c30a3b9a4d499de8dbd5e06 (patch) | |
tree | 4d838c1cbce9e02bbeb27da5fd5e3f8150b1a5e5 /netlib/tcp.py | |
parent | 73376e605a61fab239213da375a612ed7d3274b5 (diff) | |
download | mitmproxy-f7bd690e3aba0be05c30a3b9a4d499de8dbd5e06.tar.gz mitmproxy-f7bd690e3aba0be05c30a3b9a4d499de8dbd5e06.tar.bz2 mitmproxy-f7bd690e3aba0be05c30a3b9a4d499de8dbd5e06.zip |
When we see an incomplete read with 0 bytes, it's a disconnect
Partially fixes mitmproxy/mitmproxy:#593
Diffstat (limited to 'netlib/tcp.py')
-rw-r--r-- | netlib/tcp.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/netlib/tcp.py b/netlib/tcp.py index c8545d4f..f6179faa 100644 --- a/netlib/tcp.py +++ b/netlib/tcp.py @@ -225,9 +225,12 @@ class Reader(_FileLike): """ result = self.read(length) if length != -1 and len(result) != length: - raise NetLibIncomplete( - "Expected %s bytes, got %s" % (length, len(result)) - ) + if not result: + raise NetLibDisconnect() + else: + raise NetLibIncomplete( + "Expected %s bytes, got %s" % (length, len(result)) + ) return result |