diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-03-16 01:53:52 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-03-16 01:53:52 +0000 |
commit | b296e29035a18e44c640a4f28f220169374f921a (patch) | |
tree | b3afe8df4f6c6653a47b3d793f714368f7aeaf80 /rational.c | |
parent | 1e07906a423653b4f97db9599e5924366484ecb2 (diff) |
rational.c: zero division
* rational.c (read_rat_nos): denominator cannot be 0, raise zero
division in that case.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'rational.c')
-rw-r--r-- | rational.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/rational.c b/rational.c index 4bdc695dc1..742f594f65 100644 --- a/rational.c +++ b/rational.c @@ -2396,6 +2396,7 @@ read_rat_nos(const char **s, int sign, int strict, VALUE *num) if (**s == '/') { (*s)++; if (!read_digits(s, strict, &den, NULL)) goto failed; + if (den == ZERO) rb_num_zerodiv(); nurat_reduce(num, &den); if (div != ONE && den != ONE) den = rb_int_mul(den, div); |