aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2020-05-14 19:48:23 -0700
committerGitHub <noreply@github.com>2020-05-14 19:48:23 -0700
commit636698bb79ab182b72f7da6172fa3fd7ffd58e3c (patch)
tree907ff56c3ef7a9b785dc8ef258f1a880fa738ec1 /cmd
parentbc9f5e542745f102de70ade555114eb28591fcd1 (diff)
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.
Diffstat (limited to 'cmd')
-rw-r--r--cmd/fscrypt/errors.go14
1 files changed, 7 insertions, 7 deletions
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