[ruby-cvs:71217] usa:r64125 (ruby_2_4): merge revision(s) 63549, 63551, 63554: [Backport #14805]

usa at ruby-lang.org usa at ruby-lang.org
Mon Jul 30 22:54:27 JST 2018


usa	2018-07-30 22:54:27 +0900 (Mon, 30 Jul 2018)

  New Revision: 64125

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=64125

  Log:
    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]

  Modified directories:
    branches/ruby_2_4/
  Modified files:
    branches/ruby_2_4/enum.c
    branches/ruby_2_4/version.h


More information about the ruby-cvs mailing list