As raised by Coverity in GH #2223,
f034139bc0 ("MINOR: lua: Allow reading
"proc." scoped vars from LUA core.") causes uninitialized reads due to
smp being passed to vars_get_by_name() without being initialized first.
Indeed, vars_get_by_name() tries to read smp->sess and smp->strm pointers.
As we're only interested in the PROC var scope, it is safe to call
vars_get_by_name() with sess and strm pointers set to NULL, thus we
simply memset smp prior to calling vars_get_by_name() to fix the issue.
This should be backported in 2.9 with
f034139bc0.
if (len < 5 || strncmp(name, "proc.", 5) != 0)
WILL_LJMP(luaL_error(L, "'get_var': Only 'proc.' scope allowed to be retrieved in 'core.get_var()'."));
+ memset(&smp, 0, sizeof(smp));
if (!vars_get_by_name(name, len, &smp, NULL)) {
lua_pushnil(L);
return 1;