diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-11-29 10:36:19 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-11-29 10:36:19 +0000 |
commit | 293eb9ba4669b1500370502397d399681e7098f0 (patch) | |
tree | 1918a8ec8f2c8165e501b38692665cef1884a7b4 /src | |
parent | 38453528c3372293d70c8e85471a6188749ff331 (diff) | |
download | vim-git-293eb9ba4669b1500370502397d399681e7098f0.tar.gz |
patch 8.2.3693: Coverity warns for possibly using a NULL pointerv8.2.3693
Problem: Coverity warns for possibly using a NULL pointer.
Solution: Check for NULL and give an error.
Diffstat (limited to 'src')
-rw-r--r-- | src/errors.h | 3 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/vim9execute.c | 6 |
3 files changed, 10 insertions, 1 deletions
diff --git a/src/errors.h b/src/errors.h index 3c76bb70d..5cc98e786 100644 --- a/src/errors.h +++ b/src/errors.h @@ -355,7 +355,8 @@ EXTERN char e_cannot_delete_vim9_script_function_str[] 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 index 90021bec3..b7fe97b2b 100644 --- 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 index 7704635e9..de4de16e3 100644 --- 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); |