aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-17 06:56:42 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-17 06:56:42 +0000
commit8fb2235f48af6216b9b2105155dd626d8b2f771a (patch)
tree324bb8ddbee03fb9997f91ff04ce8af335f9f776
parenta89d928bfb89cea28dfaf566cf768cf541f7e916 (diff)
downloadruby-8fb2235f48af6216b9b2105155dd626d8b2f771a.tar.gz
* 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
-rw-r--r--ChangeLog3
-rw-r--r--array.c1
2 files changed, 4 insertions, 0 deletions
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 <matz@ruby-lang.org>
* 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) <yugui@yugui.jp>
* 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++);
}