From 7d1673276c17db67e33387d5c54e1b584d5f0dbc Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Mon, 3 Sep 2012 21:13:19 +0900 Subject: zero check before overflow check devision; close #446 --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/vm.c b/src/vm.c index 62594358d..04a65f26e 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1360,7 +1360,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) x = mrb_fixnum(regs[a]); y = mrb_fixnum(regs[a+1]); z = x * y; - if (z/x != y) { + if (x != 0 && z/x != y) { regs[a] = mrb_float_value((mrb_float)x * (mrb_float)y); } else { -- cgit v1.2.3