summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/numeric.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/numeric.c b/src/numeric.c
index 746078fd9..de43dccba 100644
--- a/src/numeric.c
+++ b/src/numeric.c
@@ -767,12 +767,11 @@ static mrb_value
fix_mod(mrb_state *mrb, mrb_value x)
{
mrb_value y;
- mrb_int a;
+ mrb_int a, b;
mrb_get_args(mrb, "o", &y);
-
a = mrb_fixnum(x);
- if (FIXNUM_P(y)) {
+ if (FIXNUM_P(y) && (b=mrb_fixnum(y)) != 0) {
mrb_int mod;
fixdivmod(mrb, a, mrb_fixnum(y), 0, &mod);