diff options
Diffstat (limited to 'databases/keydb/files/patch-CVE-2025-49844')
-rw-r--r-- | databases/keydb/files/patch-CVE-2025-49844 | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/databases/keydb/files/patch-CVE-2025-49844 b/databases/keydb/files/patch-CVE-2025-49844 new file mode 100644 index 000000000000..d17aa3285453 --- /dev/null +++ b/databases/keydb/files/patch-CVE-2025-49844 @@ -0,0 +1,23 @@ +diff --git a/deps/lua/src/lparser.c b/deps/lua/src/lparser.c +index dda7488dcad..ee7d90c90d7 100644 +--- deps/lua/src/lparser.c ++++ deps/lua/src/lparser.c +@@ -384,13 +384,17 @@ Proto *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff, const char *name) { + struct LexState lexstate; + struct FuncState funcstate; + lexstate.buff = buff; +- luaX_setinput(L, &lexstate, z, luaS_new(L, name)); ++ TString *tname = luaS_new(L, name); ++ setsvalue2s(L, L->top, tname); ++ incr_top(L); ++ luaX_setinput(L, &lexstate, z, tname); + open_func(&lexstate, &funcstate); + funcstate.f->is_vararg = VARARG_ISVARARG; /* main func. is always vararg */ + luaX_next(&lexstate); /* read first token */ + chunk(&lexstate); + check(&lexstate, TK_EOS); + close_func(&lexstate); ++ --L->top; + lua_assert(funcstate.prev == NULL); + lua_assert(funcstate.f->nups == 0); + lua_assert(lexstate.fs == NULL); |