diff --git a/pkg/util/deployment/deployment.go b/pkg/util/deployment/deployment.go index 098c3cd004..1df33e9708 100644 --- a/pkg/util/deployment/deployment.go +++ b/pkg/util/deployment/deployment.go @@ -61,7 +61,11 @@ func GetOldRCs(deployment extensions.Deployment, c client.Interface) ([]*api.Rep } } requiredRCs := []*api.ReplicationController{} - for _, value := range oldRCs { + // Note that go reuses the same memory location for every iteration, + // which means the 'value' returned from range will have the same address. + // Therefore, we should use the returned 'index' instead. + for i := range oldRCs { + value := oldRCs[i] requiredRCs = append(requiredRCs, &value) } return requiredRCs, nil