func safeWrite()

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)
}