From 7fa5e608d33d7b87763b37b4dc7793e2ae58c882 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 12 Jun 2013 03:04:11 +0000 Subject: array.c: freeze in callback * array.c (rb_ary_uniq_bang): must not be modified once frozen even in a callback method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- array.c | 1 + 1 file changed, 1 insertion(+) (limited to 'array.c') diff --git a/array.c b/array.c index 9bdbe78d5c..f3076d7cf3 100644 --- a/array.c +++ b/array.c @@ -3981,6 +3981,7 @@ rb_ary_uniq_bang(VALUE ary) if (RARRAY_LEN(ary) == (i = RHASH_SIZE(hash))) { return Qnil; } + rb_ary_modify(ary); ARY_SET_LEN(ary, 0); if (ARY_SHARED_P(ary) && !ARY_EMBED_P(ary)) { rb_ary_unshare(ary); -- cgit v1.2.3