Index: src/OFHTTPRequest.m ================================================================== --- src/OFHTTPRequest.m +++ src/OFHTTPRequest.m @@ -463,14 +463,17 @@ objc_autoreleasePoolPop(pool2); } } else { size_t length; - while ((length = [sock - readIntoBuffer: buffer - length: of_pagesize]) > 0) { - void *pool2 = objc_autoreleasePoolPush(); + while (![sock isAtEndOfStream]) { + void *pool2; + + length = [sock readIntoBuffer: buffer + length: of_pagesize]; + + pool2 = objc_autoreleasePoolPush(); [delegate request: self didReceiveData: buffer withLength: length];