INNER CODE UNIT · Go
Erase
GGP1/kure · commands/util.go:179
func Erase(filename string) error {
f, err := os.Stat(filename)
if err != nil {
return errors.Wrap(err, "obtaining file information")
}
buf := make([]byte, f.Size())
_, _ = rand.Read(buf)
// WriteFile truncates the file and overwrites it
if err := os.WriteFile(filename, buf, 0o600); err != nil {
return errors.Wrap(err, "overwriting file")
}
if err := os.Remove(filename); err != nil {
return errors.Wrap(err, "removing file")
}