diff --git a/ChangeLog b/ChangeLog index e2bee6c22c..d44366b53a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,9 @@ Wed Dec 17 15:44:28 2008 Yukihiro Matsumoto * array.c (rb_ary_pop_m): use enum ary_take_pos_flags. + * array.c (rb_ary_push_m): add modification check before actual + operation. [ruby-dev:37440] + Wed Dec 17 15:35:39 2008 Yuki Sonoda (Yugui) * configure.in (OBJDUMP, OBJCOPY): diff --git a/array.c b/array.c index 535cfd0605..3ba450cbe9 100644 --- a/array.c +++ b/array.c @@ -693,6 +693,7 @@ rb_ary_push(VALUE ary, VALUE item) static VALUE rb_ary_push_m(int argc, VALUE *argv, VALUE ary) { + rb_ary_modify_check(ary); while (argc--) { rb_ary_push(ary, *argv++); }