From: Bram Moolenaar Date: Fri, 9 Jul 2021 17:53:57 +0000 (+0200) Subject: patch 8.2.3134: crash when using typename() on a function reference X-Git-Tag: v8.2.3134 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9da32e4d578f4e93ef5397f9dd13e2c28b2a2595;p=vim 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) --- diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim index dcf60072f..5964ded70 100644 --- a/src/testdir/test_vim9_builtin.vim +++ b/src/testdir/test_vim9_builtin.vim @@ -1943,6 +1943,12 @@ def Test_tr() CheckDefFailure(['echo tr("a", "a", 1)'], 'E1013: Argument 3: type mismatch, expected string but got number') enddef +def Test_typename() + if has('float') + assert_equal('func([unknown], [unknown]): float', typename(function('pow'))) + endif +enddef + def Test_undofile() CheckDefFailure(['undofile(10)'], 'E1013: Argument 1: type mismatch, expected string but got number') assert_equal('.abc.un~', fnamemodify(undofile('abc'), ':t')) diff --git a/src/version.c b/src/version.c index 39d8f1455..10a5f7168 100644 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3134, /**/ 3133, /**/ diff --git a/src/vim9type.c b/src/vim9type.c index 5cf1f4284..c4f3cd504 100644 --- a/src/vim9type.c +++ b/src/vim9type.c @@ -1166,7 +1166,7 @@ type_name(type_T *type, char **tofree) for (i = 0; i < type->tt_argcount; ++i) { - char *arg_free; + char *arg_free = NULL; char *arg_type; int len;