patch 8.2.3998: asan error for adding zero to NULL

Problem:    Asan error for adding zero to NULL.
Solution:   Do not compute pointer if there are no entries.
diff --git a/src/version.c b/src/version.c
index 170c0c2..4f40aab 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3998,
+/**/
     3997,
 /**/
     3996,
diff --git a/src/vim9type.c b/src/vim9type.c
index f2ed15b..f28b88f 100644
--- a/src/vim9type.c
+++ b/src/vim9type.c
@@ -1267,7 +1267,7 @@
 	cctx_T	    *cctx)
 {
     garray_T	*stack = &cctx->ctx_type_stack;
-    type2_T	*typep = ((type2_T *)stack->ga_data) + stack->ga_len;
+    type2_T	*typep;
     garray_T    *type_gap = cctx->ctx_type_list;
     int		i;
     type_T	*result;
@@ -1283,6 +1283,7 @@
 
     // Use the first value type for the list member type, then find the common
     // type from following items.
+    typep = ((type2_T *)stack->ga_data) + stack->ga_len;
     result = (typep -(count * skip) + skip - 1)->type_curr;
     decl_result = (typep -(count * skip) + skip - 1)->type_decl;
     for (i = 1; i < count; ++i)