summaryrefslogtreecommitdiff
path: root/enum.c
diff options
context:
space:
mode:
authornagachika <nagachika@ruby-lang.org>2021-03-20 16:16:45 +0900
committernagachika <nagachika@ruby-lang.org>2021-03-20 16:16:45 +0900
commit364c8595884808315aaec9605bf2423963ed81c0 (patch)
tree9d1f97e3ebdbb864d11767a7fd25b976fb0fba37 /enum.c
parentec779aa56f4d6df465e721818d73d0d48fdf03f2 (diff)
merge revision(s) a85ed626f18d1014d09fb37eb0a703976c3d2b53: [Backport #17731]
Fix Enumerable#inject with high negative fixnums [Bug #17731] --- enum.c | 2 +- test/ruby/test_enum.rb | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-)
Diffstat (limited to 'enum.c')
-rw-r--r--enum.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/enum.c b/enum.c
index cc77964ff9..fb0ced57a1 100644
--- a/enum.c
+++ b/enum.c
@@ -771,7 +771,7 @@ ary_inject_op(VALUE ary, VALUE init, VALUE op)
if (FIXNUM_P(e)) {
n += FIX2LONG(e); /* should not overflow long type */
if (!FIXABLE(n)) {
- v = rb_big_plus(ULONG2NUM(n), v);
+ v = rb_big_plus(LONG2NUM(n), v);
n = 0;
}
}