patch 8.2.0101: crash when passing null object to ":echomsg"

Problem:    Crash when passing null object to ":echomsg".
Solution:   Check for NULL pointer. (Yasuhiro Matsumoto, closes #5460)
diff --git a/src/eval.c b/src/eval.c
index 2a2d9d4..6e88c5c 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -5682,6 +5682,7 @@
 {
     if (varp->v_type == VAR_LIST
 	    || varp->v_type == VAR_DICT
+	    || varp->v_type == VAR_BLOB
 	    || varp->v_type == VAR_FUNC
 	    || varp->v_type == VAR_PARTIAL
 	    || varp->v_type == VAR_FLOAT)
@@ -6057,6 +6058,12 @@
 		p = tv_get_string_buf(&rettv, buf);
 	    else
 		p = tv_stringify(&rettv, buf);
+	    if (p == NULL)
+	    {
+		clear_tv(&rettv);
+		ret = FAIL;
+		break;
+	    }
 	    len = (int)STRLEN(p);
 	    if (ga_grow(&ga, len + 2) == FAIL)
 	    {
diff --git a/src/testdir/test_messages.vim b/src/testdir/test_messages.vim
index 6bb553c..3e7d63c 100644
--- a/src/testdir/test_messages.vim
+++ b/src/testdir/test_messages.vim
@@ -268,3 +268,13 @@
   call term_sendkeys(buf, ':q!')
   call StopVimInTerminal(buf)
 endfunc
+
+func Test_null()
+  echom test_null_list()
+  echom test_null_dict()
+  echom test_null_blob()
+  echom test_null_job()
+  echom test_null_string()
+  echom test_null_channel()
+  echom test_null_partial()
+endfunc
diff --git a/src/version.c b/src/version.c
index 1c68c1a..ba690bc 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    101,
+/**/
     100,
 /**/
     99,