Fix: deepcopy before mutating shared objects

Signed-off-by: dkeven <keven@kubesphere.io>
This commit is contained in:
dkeven
2022-01-07 18:00:26 +08:00
parent e1df8bc5bb
commit d1b0beffd6
7 changed files with 81 additions and 32 deletions

View File

@@ -53,6 +53,8 @@ func (p *persistentVolumeClaimGetter) Get(namespace, name string) (runtime.Objec
if err != nil {
return pvc, err
}
// we should never mutate the shared objects from informers
pvc = pvc.DeepCopy()
p.annotatePVC(pvc)
return pvc, nil
}
@@ -65,6 +67,7 @@ func (p *persistentVolumeClaimGetter) List(namespace string, query *query.Query)
var result []runtime.Object
for _, pvc := range all {
pvc = pvc.DeepCopy()
p.annotatePVC(pvc)
result = append(result, pvc)
}