summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--array.c1
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index cebb78c287..70a52b1566 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,7 +2,10 @@ 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.
-Wed Dec 17 15:22:45 2008 Yuki Sonoda (Yugui) <yugui@yugui.jp>
+ * 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):
Also BSD's ports prefixes GNU binutils with 'g'.
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++);
}