Avoid io.ReadAll in buildFinalTarball() (#10311)

This commit updates the func buildFinalTarball so it won't use
io.ReadAll, in order to optimize memory usage.

Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
(cherry picked from commit 763f3a1db4)
This commit is contained in:
Daniel Jiang
2026-08-24 16:32:04 +00:00
committed by github-actions[bot]
parent cae8768c8f
commit 3b88d3b16d
+1 -10
View File
@@ -1128,21 +1128,12 @@ func buildFinalTarball(tr *tar.Reader, tw tarWriter, updateFiles map[string]File
return errors.WithStack(err)
}
delete(updateFiles, header.Name)
// skip over file contents from old tarball
_, err := io.ReadAll(tr)
if err != nil {
return errors.WithStack(err)
}
} else {
// Add original content to new tarball, as item wasn't updated
oldContents, err := io.ReadAll(tr)
if err != nil {
return errors.WithStack(err)
}
if err := tw.WriteHeader(header); err != nil {
return errors.WithStack(err)
}
if _, err := tw.Write(oldContents); err != nil {
if _, err := io.Copy(tw, tr); err != nil {
return errors.WithStack(err)
}
}