Project

General

Profile

« Previous | Next » 

Revision f5a90a2d

Added by nagachika (Tomoyuki Chikanaga) over 5 years ago

merge revision(s) 63549,63551,63554: [Backport #14805]

    memo->u3.cnt is long not int [Bug #14805]

    enum.c: mitigate overflows

    * enum.c (enum_count): convert counters to Integer as unsigned
      long, instead of long, to mitigate overflows.
      [ruby-core:87348] [Bug #14805]

    * enum.c (ary_inject_op): ditto.

    * enum.c (each_with_index_i): ditto, instead of int.

    * enum.c (find_index_i, find_index_iter_i): ditto, instead of
      unsigned int.

    enum.c: bignum counter

    * enum.c (imemo_count_up, imemo_count_value): promote the counter
      value to a bignum on overflow.  [Bug #14805]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@64432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e