Procházet zdrojové kódy

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

Tao Wen před 8 roky
rodič
revize
5124683f24
1 změnil soubory, kde provedl 2 přidání a 1 odebrání
  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)