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)
diff --git a/src/terminal.c b/src/terminal.c
index 3035665..f526108 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -1686,7 +1686,7 @@
     ++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;
 }
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 10fe4af..acf69be 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -54,6 +54,9 @@
   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 @@
   call Check_123(buf)
 
   exe buf . 'bwipe'
+  call delete('Xtext')
 endfunc
diff --git a/src/version.c b/src/version.c
index 33e7e3d..f601bfd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    816,
+/**/
     815,
 /**/
     814,