aboutsummaryrefslogtreecommitdiffstats
path: root/netlib
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2015-05-31 17:18:55 +1200
committerAldo Cortesi <aldo@nullcube.com>2015-05-31 17:18:55 +1200
commitf7bd690e3aba0be05c30a3b9a4d499de8dbd5e06 (patch)
tree4d838c1cbce9e02bbeb27da5fd5e3f8150b1a5e5 /netlib
parent73376e605a61fab239213da375a612ed7d3274b5 (diff)
downloadmitmproxy-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')
-rw-r--r--netlib/tcp.py9
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