patch 9.1.0682: Vim9: Segfault with uninitialized funcref
Problem: Vim9: Segfault with uninitialized funcref
(Daniel Viberg)
Solution: Check the Funcref for being Null before trying to access it
(Ernie Rael)
fixes: #15523
Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index d07bbfb..030ff83 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
Binary files differ
diff --git a/src/userfunc.c b/src/userfunc.c
index 9a82394..5d16710 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -2245,7 +2245,8 @@
if (!HASHITEM_EMPTY(hi))
{
dictitem_T *di = HI2DI(hi);
- if (di->di_tv.v_type == VAR_FUNC)
+ if (di->di_tv.v_type == VAR_FUNC
+ && di->di_tv.vval.v_string != NULL)
func = find_func_even_dead(di->di_tv.vval.v_string, flags);
}
}
diff --git a/src/version.c b/src/version.c
index 02b6d91..c4472cf 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 682,
+/**/
681,
/**/
680,