summaryrefslogtreecommitdiff
path: root/array.c
diff options
context:
space:
mode:
Diffstat (limited to 'array.c')
-rw-r--r--array.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/array.c b/array.c
index f4ad44c051..866849e6d2 100644
--- a/array.c
+++ b/array.c
@@ -177,7 +177,7 @@ rb_ary_decrement_share(VALUE shared)
{
if (shared) {
int num = ARY_SHARED_NUM(shared) - 1;
- if (num == 0) {
+ if (num == 0 && RBASIC(shared)->klass) {
rb_ary_free(shared);
rb_gc_force_recycle(shared);
}