From 52fd61dffdfa50c9a2d4ec24865a54da0b8f0a2a Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Fri, 31 Oct 2025 09:38:55 +0100 Subject: [PATCH] lua: remove luajit pushlstring workaround 81ee6f5aadeb ("lua: push correct length back through ScFlowvarGet, work around valgrind warning") added a workaround for valgrind warnings in pushing a string buffer into the lua state. This is no longer needed as tested with both address sanitizer and valgrind. --- src/util-lua.c | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/src/util-lua.c b/src/util-lua.c index d5ddc885b5..86d44f1d25 100644 --- a/src/util-lua.c +++ b/src/util-lua.c @@ -318,22 +318,7 @@ void LuaPrintStack(lua_State *state) { int LuaPushStringBuffer(lua_State *luastate, const uint8_t *input, size_t input_len) { - if (input_len % 4 != 0) { - /* we're using a buffer sized at a multiple of 4 as lua_pushlstring generates - * invalid read errors in valgrind otherwise. Adding in a nul to be sure. - * - * Buffer size = len + 1 (for nul) + whatever makes it a multiple of 4 */ - size_t buflen = input_len + 1 + ((input_len + 1) % 4); - uint8_t buf[buflen]; - memset(buf, 0x00, buflen); - memcpy(buf, input, input_len); - buf[input_len] = '\0'; - - /* return value through luastate, as a luastring */ - lua_pushlstring(luastate, (char *)buf, input_len); - } else { - lua_pushlstring(luastate, (char *)input, input_len); - } + lua_pushlstring(luastate, (char *)input, input_len); return 1; }