patch 8.0.0841: term_getline() may cause a crash
Problem: term_getline() may cause a crash.
Solution: Check that the row is valid. (Hirohito Higashi)
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 97f7d5c..48ee1c4 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -81,6 +81,10 @@
endfunc
func Check_123(buf)
+ let l = term_scrape(a:buf, 0)
+ call assert_true(len(l) == 0)
+ let l = term_scrape(a:buf, 999)
+ call assert_true(len(l) == 0)
let l = term_scrape(a:buf, 1)
call assert_true(len(l) > 0)
call assert_equal('1', l[0].chars)
@@ -93,6 +97,12 @@
call assert_equal('#000000', l[0].bg)
endif
+ let l = term_getline(a:buf, -1)
+ call assert_equal('', l)
+ let l = term_getline(a:buf, 0)
+ call assert_equal('', l)
+ let l = term_getline(a:buf, 999)
+ call assert_equal('', l)
let l = term_getline(a:buf, 1)
call assert_equal('123', l)
endfunc