]> granicus.if.org Git - vim/commitdiff
patch 8.0.0816: crash when using invalid buffer number v8.0.0816
authorBram Moolenaar <Bram@vim.org>
Sun, 30 Jul 2017 16:02:12 +0000 (18:02 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 30 Jul 2017 16:02:12 +0000 (18:02 +0200)
Problem:    Crash when using invalid buffer number.
Solution:   Check for NULL buffer. (Yasuhiro Matsumoto, closes #1899)

src/terminal.c
src/testdir/test_terminal.vim
src/version.c

index 303566576e1c8490401c939ee28bf22ada191824..f526108c59d0a7e78e0f413dc472c5c7cabc586a 100644 (file)
@@ -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;
 }
index 10fe4af612716bd6047577ee82c970ac56137009..acf69be337bab942defffbdd4ee562c4605d216b 100644 (file)
@@ -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
index 33e7e3d77b7cb9285328535ad599441c8e57634f..f601bfd71bb7754230a7aedb581364515d1153c9 100644 (file)
@@ -769,6 +769,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    816,
 /**/
     815,
 /**/