Mercurial > vim
changeset 11872:ff8122091ec6 v8.0.0816
patch 8.0.0816: crash when using invalid buffer number
commit https://github.com/vim/vim/commit/f144a3fb73340fe22e08bd1fa77e27c9f55bb0af
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jul 30 18:02:12 2017 +0200
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 https://github.com/vim/vim/issues/1899)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 30 Jul 2017 18:15:04 +0200 |
parents | d70c8377904e |
children | 8a2769a22c17 |
files | src/terminal.c src/testdir/test_terminal.vim src/version.c |
diffstat | 3 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/terminal.c +++ b/src/terminal.c @@ -1686,7 +1686,7 @@ term_get_buf(typval_T *argvars) ++emsg_off; buf = get_buf_tv(&argvars[0], FALSE); --emsg_off; - if (buf->b_term == NULL) + if (buf == NULL || buf->b_term == NULL) return NULL; return buf; }
--- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -54,6 +54,9 @@ func Test_terminal_scrape() call assert_equal(1, len(termlist)) call assert_equal(buf, termlist[0]) + " Nothing happens with invalid buffer number + call term_wait(1234) + call term_wait(buf) call Check_123(buf) @@ -64,4 +67,5 @@ func Test_terminal_scrape() call Check_123(buf) exe buf . 'bwipe' + call delete('Xtext') endfunc