From 636698bb79ab182b72f7da6172fa3fd7ffd58e3c Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Thu, 14 May 2020 19:48:23 -0700 Subject: cmd/fscrypt: fix up path formatting in ErrDirNotEmpty suggestion (#229) Use %q, in case the paths contain whitespace. Also clean the directory path to remove trailing slashes before appending the ".new" suffix. --- cmd/fscrypt/errors.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'cmd') diff --git a/cmd/fscrypt/errors.go b/cmd/fscrypt/errors.go index 63ddaf4..8bdab6e 100644 --- a/cmd/fscrypt/errors.go +++ b/cmd/fscrypt/errors.go @@ -179,18 +179,18 @@ func getErrorSuggestions(err error) string { > fscrypt lock %q`, e.DirPath, e.DirPath) case *ErrDirNotEmpty: - dir := e.DirPath + dir := filepath.Clean(e.DirPath) newDir := dir + ".new" return fmt.Sprintf(`Files cannot be encrypted in-place. Instead, encrypt a new directory, copy the files into it, and securely delete the original directory. For example: - > mkdir %s - > fscrypt encrypt %s - > cp -a -T %s %s - > find %s -type f -print0 | xargs -0 shred -n1 --remove=unlink - > rm -rf %s - > mv %s %s + > mkdir %q + > fscrypt encrypt %q + > cp -a -T %q %q + > find %q -type f -print0 | xargs -0 shred -n1 --remove=unlink + > rm -rf %q + > mv %q %q Caution: due to the nature of modern storage devices and filesystems, the original data may still be recoverable from disk. It's much better -- cgit v1.2.3