From c994ce70926fd3be515947eb0b8e3a9485870050 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Mon, 19 Apr 2021 14:11:25 +0200 Subject: [PATCH] sojuctl: don't use log.Fatalf in readPassword --- cmd/sojuctl/main.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmd/sojuctl/main.go b/cmd/sojuctl/main.go index 948adc0..730832c 100644 --- a/cmd/sojuctl/main.go +++ b/cmd/sojuctl/main.go @@ -4,6 +4,7 @@ import ( "bufio" "flag" "fmt" + "io" "log" "os" @@ -125,12 +126,13 @@ func readPassword() ([]byte, error) { fmt.Printf("\n") } else { fmt.Fprintf(os.Stderr, "Warning: Reading password from stdin.\n") + // TODO: the buffering messes up repeated calls to readPassword scanner := bufio.NewScanner(os.Stdin) if !scanner.Scan() { if err := scanner.Err(); err != nil { - log.Fatalf("failed to read password from stdin: %v", err) + return nil, err } - log.Fatalf("failed to read password from stdin: stdin is empty") + return nil, io.ErrUnexpectedEOF } password = scanner.Bytes()