patch 9.0.1104: invalid memory access when checking function argument types

Problem:    Invalid memory access when checking function argument types.
Solution:   Do not check beyond the number of arguments. (closes #11755)
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index a5e3e90..0edf7ea 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
Binary files differ
diff --git a/src/version.c b/src/version.c
index b33f6d5..8dbf11f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1104,
+/**/
     1103,
 /**/
     1102,
diff --git a/src/vim9type.c b/src/vim9type.c
index 0709ce0..393c69d 100644
--- a/src/vim9type.c
+++ b/src/vim9type.c
@@ -848,7 +848,7 @@
 	    {
 		int i;
 
-		for (i = 0; i < expected->tt_argcount; ++i)
+		for (i = 0; i < expected->tt_argcount && i < actual->tt_argcount; ++i)
 		    // Allow for using "any" argument type, lambda's have them.
 		    if (actual->tt_args[i] != &t_any && check_type(
 			    expected->tt_args[i], actual->tt_args[i], FALSE,