# HG changeset patch # User Bram Moolenaar # Date 1638182703 -3600 # Node ID c189c40c9a22da6cd9ebe8948bdaa2b09c674a5d # Parent a694e1ebf77704a02fc76c15b0f257dd2f5a12a4 patch 8.2.3693: Coverity warns for possibly using a NULL pointer Commit: https://github.com/vim/vim/commit/293eb9ba4669b1500370502397d399681e7098f0 Author: Bram Moolenaar Date: Mon Nov 29 10:36:19 2021 +0000 patch 8.2.3693: Coverity warns for possibly using a NULL pointer Problem: Coverity warns for possibly using a NULL pointer. Solution: Check for NULL and give an error. diff --git a/src/errors.h b/src/errors.h --- a/src/errors.h +++ b/src/errors.h @@ -355,7 +355,8 @@ EXTERN char e_cannot_delete_vim9_script_ INIT(= N_("E1084: Cannot delete Vim9 script function %s")); EXTERN char e_not_callable_type_str[] INIT(= N_("E1085: Not a callable type: %s")); -// E1086 unused +EXTERN char e_function_reference_invalid[] + INIT(= N_("E1086: Function reference invalid")); EXTERN char e_cannot_use_index_when_declaring_variable[] INIT(= N_("E1087: Cannot use an index when declaring a variable")); // E1088 unused diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -758,6 +758,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3693, +/**/ 3692, /**/ 3691, diff --git a/src/vim9execute.c b/src/vim9execute.c --- a/src/vim9execute.c +++ b/src/vim9execute.c @@ -3189,6 +3189,12 @@ exec_instructions(ectx_T *ectx) { ufunc = find_func(funcref->fr_func_name, FALSE, NULL); } + if (ufunc == NULL) + { + SOURCING_LNUM = iptr->isn_lnum; + emsg(_(e_function_reference_invalid)); + goto theend; + } if (fill_partial_and_closure(pt, ufunc, ectx) == FAIL) goto theend; tv = STACK_TV_BOT(0);