BUG/MINOR: lua: lua-load doesn't check its parameters
authorThierry Fournier <thierry.fournier@ozon.io>
Sun, 29 Nov 2020 00:06:24 +0000 (01:06 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Mon, 14 Dec 2020 08:20:10 +0000 (09:20 +0100)
"lua-load" doesn't check if the expected parameter is present. It tries to
open() directly the argument at second position. So if the filename is
omitted, it tries to load an empty filename.

This patch could be backported until 1.8

(cherry picked from commit 77a88943d6a0d7852c25a03541d60ccf44aa5c6d)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>

src/hlua.c

index 1ecf0c1..49db0f3 100644 (file)
@@ -7986,6 +7986,11 @@ static int hlua_load(char **args, int section_type, struct proxy *curpx,
 {
        int error;
 
+       if (*(args[1]) == 0) {
+               memprintf(err, "'%s' expects a file name as parameter.\n", args[0]);
+               return -1;
+       }
+
        /* Just load and compile the file. */
        error = luaL_loadfile(gL.T, args[1]);
        if (error) {