diff --git a/source/texk/web2c/luatexdir/ChangeLog b/source/texk/web2c/luatexdir/ChangeLog index d8b6a5d5de636395b67aa3f1ef7bb11b2ec17117..bde59eddcf8c5e2a5045644e7874dc4455a93023 100644 --- a/source/texk/web2c/luatexdir/ChangeLog +++ b/source/texk/web2c/luatexdir/ChangeLog @@ -1,3 +1,6 @@ +2022-11-20 Luigi Scarso <luigi.scarso@gmail.com> + * Ensured that load_hyphenation has enough Lua stack, and pops the latest table pushed in (Michal Vlasák). + 2022-11-10 Luigi Scarso <luigi.scarso@gmail.com> * Better error message if setlocale fails diff --git a/source/texk/web2c/luatexdir/lang/texlang.c b/source/texk/web2c/luatexdir/lang/texlang.c index a0d067251b02b8164f5de62eab9e234940267105..f8c60e548dedca8e6a89683737ea49c21c46ccaf 100644 --- a/source/texk/web2c/luatexdir/lang/texlang.c +++ b/source/texk/web2c/luatexdir/lang/texlang.c @@ -287,6 +287,7 @@ void load_hyphenation(struct tex_language *lang, const unsigned char *buff) int id ; if (lang == NULL) return; + lua_checkstack(Luas, 3); if (lang->exceptions == 0) { lua_newtable(Luas); lang->exceptions = luaL_ref(Luas, LUA_REGISTRYINDEX); @@ -314,6 +315,7 @@ void load_hyphenation(struct tex_language *lang, const unsigned char *buff) } } } + lua_pop(Luas, 1); } void clear_hyphenation(struct tex_language *lang) diff --git a/source/texk/web2c/luatexdir/luatex_svnversion.h b/source/texk/web2c/luatexdir/luatex_svnversion.h index 2630418c80c8aeebe53e37a678c5eec12ac96adf..cc26f5a97c84bc7798da507a3008d7897e7c5b6b 100644 --- a/source/texk/web2c/luatexdir/luatex_svnversion.h +++ b/source/texk/web2c/luatexdir/luatex_svnversion.h @@ -1,4 +1,4 @@ #ifndef luatex_svn_revision_h #define luatex_svn_revision_h -#define luatex_svn_revision 7548 +#define luatex_svn_revision 7549 #endif