From 5124683f2476e41d1a3f385bda2620b09a5bd237 Mon Sep 17 00:00:00 2001 From: Tao Wen Date: Mon, 31 Jul 2017 23:24:58 +0800 Subject: [PATCH] #140 try fix: maybe memory collected before assigned to existing object graph --- feature_reflect_slice.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/feature_reflect_slice.go b/feature_reflect_slice.go index 961cd31..eb4a84d 100644 --- a/feature_reflect_slice.go +++ b/feature_reflect_slice.go @@ -124,7 +124,8 @@ func growOne(slice *sliceHeader, sliceType reflect.Type, elementType reflect.Typ } } } - dst := unsafe.Pointer(reflect.MakeSlice(sliceType, newLen, newCap).Pointer()) + newVal := reflect.MakeSlice(sliceType, newLen, newCap) + dst := unsafe.Pointer(newVal.Pointer()) // copy old array into new array originalBytesCount := uintptr(slice.Len) * elementType.Size() srcPtr := (*[1 << 30]byte)(slice.Data)