summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-rational/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-03-24 10:41:14 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-03-24 10:52:31 +0900
commit98799aa6b8cff160c510046b374ebec76fd6692c (patch)
tree27977281b50fc9f77fcbbcca53bd82797eceab0c /mrbgems/mruby-rational/src
parent3deb62d653e23b175e0c7688976f8af776808980 (diff)
downloadmruby-98799aa6b8cff160c510046b374ebec76fd6692c.tar.gz
mruby-98799aa6b8cff160c510046b374ebec76fd6692c.zip
Fix infinite recursive call bugs in integer division.
Diffstat (limited to 'mrbgems/mruby-rational/src')
-rw-r--r--mrbgems/mruby-rational/src/rational.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mrbgems/mruby-rational/src/rational.c b/mrbgems/mruby-rational/src/rational.c
index 9d819d0f8..497a36d8e 100644
--- a/mrbgems/mruby-rational/src/rational.c
+++ b/mrbgems/mruby-rational/src/rational.c
@@ -428,6 +428,7 @@ int_div(mrb_state *mrb, mrb_value x)
return mrb_funcall_id(mrb, x, MRB_OPSYM(div), 1, y);
#if defined(MRB_USE_COMPLEX)
case MRB_TT_COMPLEX:
+ x = mrb_complex_new(mrb, (mrb_float)a, 0);
return mrb_funcall_id(mrb, x, MRB_OPSYM(div), 1, y);
#endif
case MRB_TT_FLOAT:
@@ -460,6 +461,7 @@ int_quo(mrb_state *mrb, mrb_value x)
return mrb_funcall_id(mrb, x, MRB_OPSYM(div), 1, y);
#if defined(MRB_USE_COMPLEX)
case MRB_TT_COMPLEX:
+ x = mrb_complex_new(mrb, (mrb_float)a, 0);
return mrb_funcall_id(mrb, x, MRB_OPSYM(div), 1, y);
#endif
default: