in lib/ec2macosinit/instancehistory.go [141:160]
func safeWrite(path string, data []byte) error {
f, err := os.CreateTemp(filepath.Dir(path), fmt.Sprintf(".%s.*", filepath.Base(path)))
if err != nil {
return err
}
defer os.Remove(f.Name())
defer f.Close()
_, err = f.Write(data)
if err != nil {
return err
}
err = f.Sync()
if err != nil {
return err
}
return os.Rename(f.Name(), path)
}