diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | flup/server/ajp_base.py | 6 | ||||
-rw-r--r-- | flup/server/fcgi_base.py | 6 |
3 files changed, 11 insertions, 6 deletions
@@ -1,3 +1,8 @@ +2007-09-10 Allan Saddi <allan@saddi.com> + + * Fix readline implementations so size argument is checked + earlier. + 2007-07-14 Allan Saddi <allan@saddi.com> * Prevent ThreadPool inconsistences if an exception is diff --git a/flup/server/ajp_base.py b/flup/server/ajp_base.py index 74dddde..b9dfa0f 100644 --- a/flup/server/ajp_base.py +++ b/flup/server/ajp_base.py @@ -398,15 +398,15 @@ class InputStream(object): newPos = self._avail break else: + if length is not None and len(self._buf) >= length + self._pos: + newPos = self._pos + length + break # Wait for more to come. self._waitForData() continue else: newPos = i + 1 break - if length is not None: - if self._pos + length < newPos: - newPos = self._pos + length r = self._buf[self._pos:newPos] self._pos = newPos self._shrinkBuffer() diff --git a/flup/server/fcgi_base.py b/flup/server/fcgi_base.py index 42ab282..2c68484 100644 --- a/flup/server/fcgi_base.py +++ b/flup/server/fcgi_base.py @@ -189,15 +189,15 @@ class InputStream(object): newPos = self._avail break else: + if length is not None and len(self._buf) >= length + self._pos: + newPos = self._pos + length + break # Wait for more to come. self._waitForData() continue else: newPos = i + 1 break - if length is not None: - if self._pos + length < newPos: - newPos = self._pos + length r = self._buf[self._pos:newPos] self._pos = newPos self._shrinkBuffer() |