bug fix. Didn't check for division by zero

This commit is contained in:
Francesco Cozzuto
2022-04-15 19:02:52 +02:00
parent 99b47fc824
commit 3117e7339e
+8 -1
View File
@@ -330,7 +330,14 @@ static Object *do_math_op(Object *lop, Object *rop, Opcode opcode, Heap *heap, E
case OPCODE_ADD: (z) = (x) + (y); break; \ case OPCODE_ADD: (z) = (x) + (y); break; \
case OPCODE_SUB: (z) = (x) - (y); break; \ case OPCODE_SUB: (z) = (x) - (y); break; \
case OPCODE_MUL: (z) = (x) * (y); break; \ case OPCODE_MUL: (z) = (x) * (y); break; \
case OPCODE_DIV: (z) = (x) / (y); break; \ case OPCODE_DIV: \
if((y) == 0) \
{ \
Error_Report(error, 0, "Division by zero"); \
return NULL; \
} \
(z) = (x) / (y); \
break; \
default: assert(0); break; \ default: assert(0); break; \
} }