diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | enumerator.c | 1 |
2 files changed, 3 insertions, 1 deletions
@@ -1,6 +1,7 @@ Tue Aug 27 16:51:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> - * enumerator.c (enumerator_each): ensure argument array size is int. + * enumerator.c (enumerator_each): ensure that argument array size + does not overflow at appending. Tue Aug 27 16:46:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> diff --git a/enumerator.c b/enumerator.c index 51c09597a7..a83c0533d7 100644 --- a/enumerator.c +++ b/enumerator.c @@ -448,6 +448,7 @@ enumerator_each(int argc, VALUE *argv, VALUE obj) VALUE args = e->args; if (args) { #if SIZEOF_INT < SIZEOF_LONG + /* check int range overflow */ rb_long2int(RARRAY_LEN(args) + argc); #endif args = rb_ary_dup(args); |