Skip to content

Commit d9c11cb

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 d9c11cb

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

internal/utils/credentials/input.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,19 @@ 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

2424
// readMaskedInput reads bytes one at a time from r, echoing '*' to echo for each
2525
// printable character. Handles backspace, Ctrl+C, and Enter.
2626
func readMaskedInput(r io.Reader, echo io.Writer) (string, error) {
2727
var buf []byte
28-
b := make([]byte, 1)
28+
var b [1]byte
2929
for {
30-
if _, err := r.Read(b); err != nil {
30+
if _, err := io.ReadFull(r, b[:]); err != nil {
3131
fmt.Fprint(echo, "\r\n")
32-
if err == io.EOF {
32+
if err == io.EOF || err == io.ErrUnexpectedEOF {
3333
return string(buf), nil
3434
}
3535
return "", fmt.Errorf("failed to read input: %w", err)

0 commit comments

Comments
 (0)