diff options
author | Hans Hagen <pragma@wxs.nl> | 2023-03-20 17:14:54 +0100 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2023-03-20 17:14:54 +0100 |
commit | 97f560d2993c367fb84ef62eefbe90ca03c19ebc (patch) | |
tree | 2008bdbfc92d045d7451e655cc43945b84234868 /source/luametatex/source/luacore/lua54/src/lvm.c | |
parent | 250c5684b9ee44ac972db51f87289ef935182c53 (diff) | |
download | context-97f560d2993c367fb84ef62eefbe90ca03c19ebc.tar.gz |
2023-03-20 15:44:00
Diffstat (limited to 'source/luametatex/source/luacore/lua54/src/lvm.c')
-rw-r--r-- | source/luametatex/source/luacore/lua54/src/lvm.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/luametatex/source/luacore/lua54/src/lvm.c b/source/luametatex/source/luacore/lua54/src/lvm.c index 2e84dc63c..8493a770c 100644 --- a/source/luametatex/source/luacore/lua54/src/lvm.c +++ b/source/luametatex/source/luacore/lua54/src/lvm.c @@ -1410,6 +1410,7 @@ void luaV_execute (lua_State *L, CallInfo *ci) { vmbreak; } vmcase(OP_MODK) { + savestate(L, ci); /* in case of division by 0 */ op_arithK(L, luaV_mod, luaV_modf); vmbreak; } @@ -1422,6 +1423,7 @@ void luaV_execute (lua_State *L, CallInfo *ci) { vmbreak; } vmcase(OP_IDIVK) { + savestate(L, ci); /* in case of division by 0 */ op_arithK(L, luaV_idiv, luai_numidiv); vmbreak; } @@ -1470,6 +1472,7 @@ void luaV_execute (lua_State *L, CallInfo *ci) { vmbreak; } vmcase(OP_MOD) { + savestate(L, ci); /* in case of division by 0 */ op_arith(L, luaV_mod, luaV_modf); vmbreak; } @@ -1482,6 +1485,7 @@ void luaV_execute (lua_State *L, CallInfo *ci) { vmbreak; } vmcase(OP_IDIV) { /* floor division */ + savestate(L, ci); /* in case of division by 0 */ op_arith(L, luaV_idiv, luai_numidiv); vmbreak; } |