From a85ed626f18d1014d09fb37eb0a703976c3d2b53 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lafortune Date: Thu, 18 Mar 2021 23:29:49 -0400 Subject: Fix Enumerable#inject with high negative fixnums [Bug #17731] --- enum.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'enum.c') diff --git a/enum.c b/enum.c index d8eefc8cbf..e0fcab049c 100644 --- a/enum.c +++ b/enum.c @@ -805,7 +805,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; } } -- cgit v1.2.1