From 8fb2235f48af6216b9b2105155dd626d8b2f771a Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 17 Dec 2008 06:56:42 +0000 Subject: [PATCH] * array.c (rb_ary_push_m): add modification check before actual operation. [ruby-dev:37440] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 3 +++ array.c | 1 + 2 files changed, 4 insertions(+) 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++); }