BUG/MEDIUM: lua: protects the upper boundary of the argument list for converters/fetches.

When a converter or sample is called from within a Lua code, there is a risk
of invalid argument string data usage when the upper boundary is reached.
Would be kind to port to 1.6 if possible.
This commit is contained in:
David Carlier 2016-04-27 16:14:50 +01:00 committed by Willy Tarreau
parent 3610c39c8c
commit abdb00fbc0

View File

@ -2954,6 +2954,7 @@ __LJMP static int hlua_run_sample_fetch(lua_State *L)
hlua_lua2arg(L, i + 2, &args[i]);
}
args[i].type = ARGT_STOP;
args[i].data.str.str = NULL;
/* Check arguments. */
MAY_LJMP(hlua_lua2arg_check(L, 2, args, f->arg_mask, hsmp->p));
@ -3059,6 +3060,7 @@ __LJMP static int hlua_run_sample_conv(lua_State *L)
hlua_lua2arg(L, i + 3, &args[i]);
}
args[i].type = ARGT_STOP;
args[i].data.str.str = NULL;
/* Check arguments. */
MAY_LJMP(hlua_lua2arg_check(L, 3, args, conv->arg_mask, hsmp->p));