]> granicus.if.org Git - apache/commitdiff
mod_lua: Fix multipart post parsing, so it doesn't include random bytes at the end.
authorDaniel Gruno <humbedooh@apache.org>
Thu, 20 Dec 2012 21:52:03 +0000 (21:52 +0000)
committerDaniel Gruno <humbedooh@apache.org>
Thu, 20 Dec 2012 21:52:03 +0000 (21:52 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1424723 13f79535-47bb-0310-9956-ffa450edef68

modules/lua/lua_request.c

index fdf689cf912e9633d2f64ccb5ea2c2d32abccb53..a6647629af4a36ff3b60091453feb5d5daaa7802 100644 (file)
@@ -19,6 +19,7 @@
 #include "util_script.h"
 #include "lua_apr.h"
 #include "scoreboard.h"
+#include "lua_dbd.h"
 
 APLOG_USE_MODULE(lua);
 #define POST_MAX_VARS 500
@@ -246,8 +247,8 @@ static int req_parsebody(lua_State *L)
             if (!crlf) break;
             key = (char *) apr_pcalloc(r->pool, 256);
             filename = (char *) apr_pcalloc(r->pool, 256);
-            buffer = (char *) apr_palloc(r->pool, end - crlf);
             vlen = end - crlf - 8;
+            buffer = (char *) apr_pcalloc(r->pool, vlen+1);
             memcpy(buffer, crlf + 4, vlen);
             sscanf(start + len + 2,
                 "Content-Disposition: form-data; name=\"%255[^\"]\"; filename=\"%255[^\"]\"",