Merge pull request #45611 from atombender/issue-45608

Automatic merge from submit-queue (batch tested with PRs 48183, 45611, 48065)

kubectl: 'apply view-last-applied' must not use printf() semantics

**What this PR does / why we need it**:
This fixes `kubectl apply view-last-applied` to not use `fmt.Fprintf()`, as this will cause format codes in the YAML/JSON to be interpreted. For example, if a resource manifest contains `%r`, this would cause `view-last-applied` so print `%!r(MISSING)`.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #45608.

**Special notes for your reviewer**:

**Release note**:

```release-note
Fixes an edge case where "kubectl apply view-last-applied" would emit garbage if the data contained Go format codes.
```
This commit is contained in:
Kubernetes Submit Queue 2017-06-28 12:55:21 -07:00 committed by GitHub
commit 7c656ab4d2

View File

@ -142,13 +142,13 @@ func (o *ViewLastAppliedOptions) RunApplyViewLastApplied() error {
if err != nil {
return err
}
fmt.Fprintf(o.Out, string(jsonBuffer.Bytes()))
fmt.Fprint(o.Out, string(jsonBuffer.Bytes()))
case "yaml":
yamlOutput, err := yaml.JSONToYAML([]byte(str))
if err != nil {
return err
}
fmt.Fprintf(o.Out, string(yamlOutput))
fmt.Fprint(o.Out, string(yamlOutput))
}
}