changeset 26939:ae2324aca26b v8.2.3998

patch 8.2.3998: asan error for adding zero to NULL Commit: https://github.com/vim/vim/commit/48824e952f7db8ca657fe20e66456fc19fca6815 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jan 4 16:05:48 2022 +0000 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.
author Bram Moolenaar <Bram@vim.org>
date Tue, 04 Jan 2022 17:15:02 +0100
parents 454a33e055be
children 72987374e1e4
files src/version.c src/vim9type.c
diffstat 2 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3998,
+/**/
     3997,
 /**/
     3996,
--- a/src/vim9type.c
+++ b/src/vim9type.c
@@ -1267,7 +1267,7 @@ get_member_type_from_stack(
 	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 @@ get_member_type_from_stack(
 
     // 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)