aboutsummaryrefslogtreecommitdiff
path: root/terminal.go
diff options
context:
space:
mode:
Diffstat (limited to 'terminal.go')
-rw-r--r--terminal.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/terminal.go b/terminal.go
index 55eabb5..9886ef0 100644
--- a/terminal.go
+++ b/terminal.go
@@ -210,11 +210,13 @@ func (tw *terminalWriter) processParsedCSI(
if len(params) == 0 {
tw.line = tw.lineTop
tw.column = 0
- } else if len(params) >= 2 && params[0] != 0 && params[1] != 0 {
+ } else if len(params) < 2 || params[0] <= 0 || params[1] <= 0 {
+ return false
+ } else if params[0] >= 32766 && params[1] >= 32766 {
+ // Ignore attempts to scan terminal bounds.
+ } else {
tw.line = tw.lineTop + params[0] - 1
tw.column = params[1] - 1
- } else {
- return false
}
return true
case final == 'J': // Erase in Display