Skip to content

Commit 9da32e4

Browse files
committed
patch 8.2.3134: crash when using typename() on a function reference
Problem: Crash when using typename() on a function reference. (Naohiro Ono) Solution: Initialize pointer to NULL. (closes #8531)
1 parent 90fba56 commit 9da32e4

3 files changed

Lines changed: 9 additions & 1 deletion

File tree

src/testdir/test_vim9_builtin.vim

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1943,6 +1943,12 @@ def Test_tr()
19431943
CheckDefFailure(['echo tr("a", "a", 1)'], 'E1013: Argument 3: type mismatch, expected string but got number')
19441944
enddef
19451945

1946+
def Test_typename()
1947+
if has('float')
1948+
assert_equal('func([unknown], [unknown]): float', typename(function('pow')))
1949+
endif
1950+
enddef
1951+
19461952
def Test_undofile()
19471953
CheckDefFailure(['undofile(10)'], 'E1013: Argument 1: type mismatch, expected string but got number')
19481954
assert_equal('.abc.un~', fnamemodify(undofile('abc'), ':t'))

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -755,6 +755,8 @@ static char *(features[]) =
755755

756756
static int included_patches[] =
757757
{ /* Add new patch number below this line */
758+
/**/
759+
3134,
758760
/**/
759761
3133,
760762
/**/

src/vim9type.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1166,7 +1166,7 @@ type_name(type_T *type, char **tofree)
11661166

11671167
for (i = 0; i < type->tt_argcount; ++i)
11681168
{
1169-
char *arg_free;
1169+
char *arg_free = NULL;
11701170
char *arg_type;
11711171
int len;
11721172

0 commit comments

Comments
 (0)