diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-07-09 19:53:57 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-07-09 19:53:57 +0200 |
commit | 9da32e4d578f4e93ef5397f9dd13e2c28b2a2595 (patch) | |
tree | 3b7fa35a186301c297576996f19e144519c34179 | |
parent | 90fba5627b361dbc970b3afc2eebf7411c49a0cc (diff) |
patch 8.2.3134: crash when using typename() on a function referencev8.2.3134
Problem: Crash when using typename() on a function reference. (Naohiro Ono)
Solution: Initialize pointer to NULL. (closes #8531)
-rw-r--r-- | src/testdir/test_vim9_builtin.vim | 6 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/vim9type.c | 2 |
3 files changed, 9 insertions, 1 deletions
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim index dcf60072f1..5964ded70c 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 39d8f1455c..10a5f71686 100644 --- a/src/version.c +++ b/src/version.c @@ -756,6 +756,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3134, +/**/ 3133, /**/ 3132, diff --git a/src/vim9type.c b/src/vim9type.c index 5cf1f42844..c4f3cd504c 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; |