Bladeren bron

#140 try fix: maybe memory collected before assigned to existing object graph

Tao Wen 8 jaren geleden
bovenliggende
commit
5124683f24
1 gewijzigde bestanden met toevoegingen van 2 en 1 verwijderingen
  1. 2 1
      feature_reflect_slice.go

+ 2 - 1
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)