From 8160fab8bcdd7dc4e70ae0ddd195d4dc942f8637 Mon Sep 17 00:00:00 2001 From: ko1 Date: Mon, 22 Jul 2013 04:21:01 +0000 Subject: [PATCH] * array.c (ary_resize_capa): use RARRAY_RAWPTR() because this code creates no new references. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ array.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4f9c8e0759..47adb06b32 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Jul 22 13:19:22 2013 Koichi Sasada + + * array.c (ary_resize_capa): use RARRAY_RAWPTR() because + this code creates no new references. + Mon Jul 22 12:58:18 2013 Koichi Sasada * array.c (ary_memfill): added. diff --git a/array.c b/array.c index c05ee1a23d..8022ab2cc6 100644 --- a/array.c +++ b/array.c @@ -263,12 +263,12 @@ ary_resize_capa(VALUE ary, long capacity) else { if (!ARY_EMBED_P(ary)) { long len = RARRAY_LEN(ary); - VALUE *ptr = RARRAY_PTR(ary); + const VALUE *ptr = RARRAY_RAWPTR(ary); if (len > capacity) len = capacity; MEMCPY((VALUE *)RARRAY(ary)->as.ary, ptr, VALUE, len); FL_SET_EMBED(ary); ARY_SET_LEN(ary, len); - xfree(ptr); + xfree((VALUE *)ptr); } } }