From: Jo-Philipp Wich Date: Sun, 15 Jun 2008 21:43:32 +0000 (+0000) Subject: * luci/libs: http.protocol: prevent oversized read blocks when reading from socket... X-Git-Tag: 0.8.0~800 X-Git-Url: http://git.archive.openwrt.org/?a=commitdiff_plain;h=77da39e7762f7494399e7bad88709764cd6d8f44;p=project%2Fluci.git * luci/libs: http.protocol: prevent oversized read blocks when reading from socket or file handle --- diff --git a/libs/web/luasrc/http/protocol.lua b/libs/web/luasrc/http/protocol.lua index b0074b9e3..970983d5b 100644 --- a/libs/web/luasrc/http/protocol.lua +++ b/libs/web/luasrc/http/protocol.lua @@ -520,9 +520,9 @@ function _linereader( obj, bufsz ) elseif type(obj) == "userdata" and ( type(obj.receive) == "function" or type(obj.read) == "function" ) then if type(obj.read) == "function" then - __read = function() return obj:read( bufsz ) end + __read = function() return obj:read( bufsz - #_buf ) end else - __read = function() return obj:receive( bufsz ) end + __read = function() return obj:receive( bufsz - #_buf ) end end -- object is a function