Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 1.4.4

Bug #2792 Transfer-encoding chunked with empty body triggers an error
Submitted: 2004-11-19 07:07 UTC Modified: 2006-12-26 23:48 UTC
From: afradejas at mediafusion dot es Assigned: avb
Status: Closed Package: HTTP_Request
PHP Version: 4.3.9 OS: Linux
Roadmaps: (Not assigned)    
Subscription  


 [2004-11-19 07:07 UTC] afradejas at mediafusion dot es
Description: ------------ If the response for a request is chunked, and there's no body data (empty body, so no chunks at all), then there's an error as Socket->read() is called with 0 length. WARNING [/usr/lib/php4/php/Net/Socket.php:262] fread(): Length parameter must be greater than 0. Here's a patch that fixes it. --- Request.php Fri Nov 19 13:04:34 2004 +++ Request_patched.php Fri Nov 19 13:02:35 2004 @@ -1105,8 +1105,10 @@ } } } - $data = $this->_sock->read($this->_chunkLength); - $this->_chunkLength -= strlen($data); + if ($this->_chunkLength > 0) { + $data = $this->_sock->read($this->_chunkLength); + $this->_chunkLength -= strlen($data); + } if (0 == $this->_chunkLength) { $this->_sock->readLine(); // Trailing CRLF }

Comments

 [2004-12-10 09:50 UTC] avb
Fixed in CVS.