diff --git a/encoding.c b/encoding.c index bda40eb043..e2c061480e 100644 --- a/encoding.c +++ b/encoding.c @@ -152,6 +152,8 @@ enc_list_update(int index, rb_raw_encoding *encoding) RBASIC_CLEAR_CLASS(new_list); /* initialize encoding data */ rb_ary_store(new_list, index, enc_new(encoding)); + rb_ary_freeze(new_list); + FL_SET_RAW(new_list, RUBY_FL_SHAREABLE); RUBY_ATOMIC_VALUE_SET(rb_encoding_list, new_list); } }