BUG/MINOR: lua: Check argument type to convert it to IPv4/IPv6 arg validation

In hlua_lua2arg_check() function, before converting a string to an IP address,
we must be to sure to have a string argument (ARGT_STR).

This patch must be backported to all supported versions.
This commit is contained in:
Christopher Faulet 2020-08-07 09:07:26 +02:00
parent 959171376f
commit 8e09ac8592

View File

@ -741,6 +741,8 @@ __LJMP int hlua_lua2arg_check(lua_State *L, int first, struct arg *argp,
break;
case ARGT_IPV4:
if (argp[idx].type != ARGT_STR)
WILL_LJMP(luaL_argerror(L, first + idx, "string expected"));
memcpy(trash.area, argp[idx].data.str.area,
argp[idx].data.str.data);
trash.area[argp[idx].data.str.data] = 0;
@ -759,6 +761,8 @@ __LJMP int hlua_lua2arg_check(lua_State *L, int first, struct arg *argp,
break;
case ARGT_IPV6:
if (argp[idx].type != ARGT_STR)
WILL_LJMP(luaL_argerror(L, first + idx, "string expected"));
memcpy(trash.area, argp[idx].data.str.area,
argp[idx].data.str.data);
trash.area[argp[idx].data.str.data] = 0;