aboutsummaryrefslogtreecommitdiff
path: root/masterkey.go
diff options
context:
space:
mode:
authorJakob Unterwurzacher2022-01-03 15:18:59 +0100
committerJakob Unterwurzacher2022-01-03 15:18:59 +0100
commit4b251f3ce1f0a0472ed10a00aeef70c69ba03a5d (patch)
treea93b7b37d5b3118decd8a52f2db2e76d09d82b70 /masterkey.go
parent1eaf1211a259a38cdf3e7dad2e00e140409bef9a (diff)
readpassword: bubble up errors instead of exiting the process
This allows cleanups to happen in the caller, like removing the control socket. Fixes https://github.com/rfjakob/gocryptfs/issues/634
Diffstat (limited to 'masterkey.go')
-rw-r--r--masterkey.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/masterkey.go b/masterkey.go
index 10009cb..d488441 100644
--- a/masterkey.go
+++ b/masterkey.go
@@ -39,8 +39,12 @@ func unhexMasterKey(masterkey string, fromStdin bool) []byte {
func handleArgsMasterkey(args *argContainer) (masterkey []byte) {
// "-masterkey=stdin"
if args.masterkey == "stdin" {
- in := string(readpassword.Once(nil, nil, "Masterkey"))
- return unhexMasterKey(in, true)
+ in, err := readpassword.Once(nil, nil, "Masterkey")
+ if err != nil {
+ tlog.Fatal.Println(err)
+ os.Exit(exitcodes.ReadPassword)
+ }
+ return unhexMasterKey(string(in), true)
}
// "-masterkey=941a6029-3adc6a1c-..."
if args.masterkey != "" {