From 110bec93388eec073f4a88f0d1ae843c822991ac Mon Sep 17 00:00:00 2001 From: udf2457 Date: Wed, 22 Jan 2025 09:15:33 +0000 Subject: [PATCH] updater.go: replace os.WriteFile with file.Write() (#669) * Update updater.go replace os.WriteFile with file.Write() Signed-off-by: udf2457 * Update metadata/updater/updater.go File is closed on all branches in the code, removing this. Signed-off-by: Fredrik Skogman --------- Signed-off-by: udf2457 Signed-off-by: Fredrik Skogman Co-authored-by: Fredrik Skogman --- metadata/updater/updater.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/metadata/updater/updater.go b/metadata/updater/updater.go index 1b9d21b8..b3ac7232 100644 --- a/metadata/updater/updater.go +++ b/metadata/updater/updater.go @@ -596,11 +596,22 @@ func (update *Updater) persistMetadata(roleName string, data []byte) error { if err != nil { return err } - defer file.Close() + // change the file permissions to our desired permissions + err = file.Chmod(0644) + if err != nil { + // close and delete the temporary file if there was an error while writing + file.Close() + errRemove := os.Remove(file.Name()) + if errRemove != nil { + log.Info("Failed to delete temporary file", "name", file.Name()) + } + return err + } // write the data content to the temporary file - err = os.WriteFile(file.Name(), data, 0644) + _, err = file.Write(data) if err != nil { - // delete the temporary file if there was an error while writing + // close and delete the temporary file if there was an error while writing + file.Close() errRemove := os.Remove(file.Name()) if errRemove != nil { log.Info("Failed to delete temporary file", "name", file.Name())