Skip to content

Commit 324a073

Browse files
committed
fix(credentials): address gosec and errcheck lint warnings
- Check read byte count before accessing buffer to fix G602 gosec warnings - Explicitly discard term.Restore error to fix errcheck warning
1 parent e9fec47 commit 324a073

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

internal/utils/credentials/input.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func PromptMaskedWithAsterisks(stdin *os.File) (string, error) {
1717
if err != nil {
1818
return "", fmt.Errorf("failed to set raw terminal: %w", err)
1919
}
20-
defer term.Restore(fd, oldState)
20+
defer func() { _ = term.Restore(fd, oldState) }()
2121
return readMaskedInput(stdin, os.Stderr)
2222
}
2323

@@ -27,13 +27,17 @@ func readMaskedInput(r io.Reader, echo io.Writer) (string, error) {
2727
var buf []byte
2828
b := make([]byte, 1)
2929
for {
30-
if _, err := r.Read(b); err != nil {
30+
n, err := r.Read(b)
31+
if err != nil {
3132
fmt.Fprint(echo, "\r\n")
3233
if err == io.EOF {
3334
return string(buf), nil
3435
}
3536
return "", fmt.Errorf("failed to read input: %w", err)
3637
}
38+
if n == 0 {
39+
continue
40+
}
3741
switch {
3842
case b[0] == 3: // Ctrl+C
3943
fmt.Fprint(echo, "\r\n")

0 commit comments

Comments
 (0)