patch 8.2.3380: crash when using NULL string for funcref()

Problem:    Crash when using NULL string for funcref().
Solution:   Check for NULL argument. (issue #8260)
diff --git a/src/evalfunc.c b/src/evalfunc.c
index d6fb03e..287ca3c 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -3932,6 +3932,11 @@
 	s = tv_get_string(&argvars[0]);
 	use_string = TRUE;
     }
+    if (s == NULL)
+    {
+	semsg(_(e_invarg2), "NULL");
+	return;
+    }
 
     if ((use_string && vim_strchr(s, AUTOLOAD_CHAR) == NULL) || is_funcref)
     {
diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim
index 597c022..080eee7 100644
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -501,6 +501,7 @@
   let OneByRef = funcref("One", repeat(["foo"], 20))
   call assert_fails('let OneByRef = funcref("One", repeat(["foo"], 21))', 'E118:')
   call assert_fails('echo function("min") =~ function("min")', 'E694:')
+  call assert_fails('echo test_null_function()->funcref()', 'E475: Invalid argument: NULL')
 endfunc
 
 func Test_setmatches()
diff --git a/src/version.c b/src/version.c
index c2e07c6..e9a04e2 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3380,
+/**/
     3379,
 /**/
     3378,