|
@@ -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;
|
|
|
}
|