libs/sgi-uhttpd: do not assume env.CONTENT_LENGTH to be a number
authorJo-Philipp Wich <jow@openwrt.org>
Fri, 28 Mar 2014 16:37:03 +0000 (16:37 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Fri, 28 Mar 2014 16:37:03 +0000 (16:37 +0000)
env.CONTENT_LENGTH as passed by uhttpd might be a string, so explicitely
convert it using tonumber().

Issue has been reported by Catalin Patulea <cat@vv.carleton.ca>

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
libs/sgi-uhttpd/luasrc/sgi/uhttpd.lua

index 5915b69..bca874e 100644 (file)
@@ -43,7 +43,7 @@ function handle_request(env)
                renv["HTTP_" .. k] = v
        end
 
                renv["HTTP_" .. k] = v
        end
 
-       local len = env.CONTENT_LENGTH or 0
+       local len = tonumber(env.CONTENT_LENGTH) or 0
        local function recv()
                if len > 0 then
                        local rlen, rbuf = uhttpd.recv(4096)
        local function recv()
                if len > 0 then
                        local rlen, rbuf = uhttpd.recv(4096)