From 524ec8b48b527138a94e6e09012d8c5569319d50 Mon Sep 17 00:00:00 2001 From: Janet Kuo Date: Mon, 7 Dec 2015 17:54:36 -0800 Subject: [PATCH] Fix bug when getting old RCs of a deployment --- pkg/util/deployment/deployment.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/util/deployment/deployment.go b/pkg/util/deployment/deployment.go index 6d2e38d351..01ac3d7409 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