From ec438d3222576459ac701a7e5ecb9d7b7449a6ee Mon Sep 17 00:00:00 2001 From: naruse Date: Mon, 11 Mar 2019 13:49:09 +0000 Subject: merge revision(s) 67203: [Backport #15651] numeric.c: fix infinite loop * numeric.c (int_pow): fix infinite loop in the case of y equal 1 and power of x does not overflow. [ruby-core:91734] [Bug #15651] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- numeric.c | 1 + 1 file changed, 1 insertion(+) (limited to 'numeric.c') diff --git a/numeric.c b/numeric.c index 20d3856508..386378dcd5 100644 --- a/numeric.c +++ b/numeric.c @@ -3988,6 +3988,7 @@ int_pow(long x, unsigned long y) long z = 1; if (y == 0) return INT2FIX(1); + if (y == 1) return LONG2NUM(x); if (neg) x = -x; if (y & 1) z = x; -- cgit v1.2.3