diff options
author | Jakob Unterwurzacher | 2022-01-03 15:18:59 +0100 |
---|---|---|
committer | Jakob Unterwurzacher | 2022-01-03 15:18:59 +0100 |
commit | 4b251f3ce1f0a0472ed10a00aeef70c69ba03a5d (patch) | |
tree | a93b7b37d5b3118decd8a52f2db2e76d09d82b70 /masterkey.go | |
parent | 1eaf1211a259a38cdf3e7dad2e00e140409bef9a (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.go | 8 |
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 != "" { |