0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 8.0.0816: crash when using invalid buffer number

Problem:    Crash when using invalid buffer number.
Solution:   Check for NULL buffer. (Yasuhiro Matsumoto, closes #1899)
This commit is contained in:
Bram Moolenaar 2017-07-30 18:02:12 +02:00
parent 43c007ff22
commit f144a3fb73
3 changed files with 7 additions and 1 deletions

View File

@ -1686,7 +1686,7 @@ term_get_buf(typval_T *argvars)
++emsg_off; ++emsg_off;
buf = get_buf_tv(&argvars[0], FALSE); buf = get_buf_tv(&argvars[0], FALSE);
--emsg_off; --emsg_off;
if (buf->b_term == NULL) if (buf == NULL || buf->b_term == NULL)
return NULL; return NULL;
return buf; return buf;
} }

View File

@ -54,6 +54,9 @@ func Test_terminal_scrape()
call assert_equal(1, len(termlist)) call assert_equal(1, len(termlist))
call assert_equal(buf, termlist[0]) call assert_equal(buf, termlist[0])
" Nothing happens with invalid buffer number
call term_wait(1234)
call term_wait(buf) call term_wait(buf)
call Check_123(buf) call Check_123(buf)
@ -64,4 +67,5 @@ func Test_terminal_scrape()
call Check_123(buf) call Check_123(buf)
exe buf . 'bwipe' exe buf . 'bwipe'
call delete('Xtext')
endfunc endfunc

View File

@ -769,6 +769,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
816,
/**/ /**/
815, 815,
/**/ /**/