# HG changeset patch # User Bram Moolenaar # Date 1603292403 -7200 # Node ID 0f90c15a4a2835c2e15841a56f72ecd8d6afa1e4 # Parent 0f6e0cc4e9270718a5df56d338357169d7904c3e patch 8.2.1880: Vim9: asan complains about adding zero to NULL Commit: https://github.com/vim/vim/commit/af7a9066a956db23a8bc67bc1f82466e3eff55ea Author: Bram Moolenaar Date: Wed Oct 21 16:49:17 2020 +0200 patch 8.2.1880: Vim9: asan complains about adding zero to NULL Problem: Vim9: Asan complains about adding zero to NULL. Solution: Check for argument count first. diff --git a/src/version.c b/src/version.c --- 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 */ /**/ + 1880, +/**/ 1879, /**/ 1878, diff --git a/src/vim9compile.c b/src/vim9compile.c --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -1475,11 +1475,13 @@ generate_BCALL(cctx_T *cctx, int func_id isn->isn_arg.shuffle.shfl_up = argoff - 1; } - // Check the types of the arguments. - argtypes = ((type_T **)stack->ga_data) + stack->ga_len - argcount; - if (argcount > 0 && internal_func_check_arg_types( - argtypes, func_idx, argcount) == FAIL) + if (argcount > 0) + { + // Check the types of the arguments. + argtypes = ((type_T **)stack->ga_data) + stack->ga_len - argcount; + if (internal_func_check_arg_types(argtypes, func_idx, argcount) == FAIL) return FAIL; + } if ((isn = generate_instr(cctx, ISN_BCALL)) == NULL) return FAIL;