diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-03-24 10:41:14 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-03-24 10:52:31 +0900 |
| commit | 98799aa6b8cff160c510046b374ebec76fd6692c (patch) | |
| tree | 27977281b50fc9f77fcbbcca53bd82797eceab0c /mrbgems/mruby-rational/src | |
| parent | 3deb62d653e23b175e0c7688976f8af776808980 (diff) | |
| download | mruby-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.c | 2 |
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: |
