lua/dataset: avoid uninitialized pointer use

Uninitialised pointer dereference: lua_newuserdata() returns
uninitialised heap, so s->set contains garbage until :get()
is called. LuaDatasetAdd() then dereferences this wild pointer.

Address by memsetting the whole object.
This commit is contained in:
Victor Julien
2026-09-11 15:35:53 -06:00
committed by Jason Ish
parent 82f4883555
commit 0c8b4d52c9
+1
View File
@@ -105,6 +105,7 @@ static int LuaDatasetNew(lua_State *luastate)
if (s == NULL) {
LUA_ERROR("failed to get userdata");
}
memset(s, 0, sizeof(*s));
luaL_getmetatable(luastate, "dataset::metatable");
lua_setmetatable(luastate, -2);
SCLogDebug("new:done");