BUG/MINOR: lua: set buffer size during map lookups

This size is used by some pattern matching to determine if there
is sufficient room in the buffer to add final \0 if necessary.
If the size is not set, the conditions use uninitialized value.

Note: it seems this bug can't cause a crash.

Should be backported until 2.2 (at least)
This commit is contained in:
Thierry Fournier 2020-11-10 20:38:20 +01:00 committed by Willy Tarreau
parent a68affeaa9
commit 91dc0c0d8f

View File

@ -1664,6 +1664,7 @@ __LJMP static inline int _hlua_map_lookup(struct lua_State *L, int str)
smp.data.type = SMP_T_STR;
smp.flags = SMP_F_CONST;
smp.data.u.str.area = (char *)MAY_LJMP(luaL_checklstring(L, 2, (size_t *)&smp.data.u.str.data));
smp.data.u.str.size = smp.data.u.str.data + 1;
}
pat = pattern_exec_match(&desc->pat, &smp, 1);