Skip to content
Snippets Groups Projects
Unverified Commit ba82f0be authored by Junegunn Choi's avatar Junegunn Choi
Browse files

Do not read more than 10K characters from /dev/tty

This might help with #1456 where fzf hangs consuming CPU resources.
parent d9c6a030
No related branches found
No related tags found
No related merge requests found
......@@ -23,6 +23,7 @@ const (
defaultEscDelay = 100
escPollInterval = 5
offsetPollTries = 10
maxInputBuffer = 10 * 1024
)
const consoleDevice string = "/dev/tty"
......@@ -317,6 +318,13 @@ func (r *LightRenderer) getBytesInternal(buffer []byte, nonblock bool) []byte {
}
buffer = append(buffer, byte(c))
pc = c
// This should never happen under normal conditions,
// so terminate fzf immediately.
if len(buffer) > maxInputBuffer {
r.Close()
panic(fmt.Sprintf("Input buffer overflow (%d): %v", len(buffer), buffer))
}
}
return buffer
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment