From a7039cee84a6944dd8a7e46ad47c5e368bf550df Mon Sep 17 00:00:00 2001 From: Ryan Williams Date: Thu, 13 May 2010 16:07:34 -0700 Subject: [PATCH] Fix for infinite loop in wsgi.py, thanks to redbo's repro. --- eventlet/wsgi.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/eventlet/wsgi.py b/eventlet/wsgi.py index 1b46395..e490e1a 100644 --- a/eventlet/wsgi.py +++ b/eventlet/wsgi.py @@ -111,8 +111,11 @@ class Input(object): if self.chunk_length > self.position: response.append(rfile.read( min(self.chunk_length - self.position, length))) - length -= len(response[-1]) - self.position += len(response[-1]) + last_read = len(response[-1]) + if last_read == 0: + break + length -= last_read + self.position += last_read if self.chunk_length == self.position: rfile.readline() else: