diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-09-29 21:45:41 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-09-29 21:45:41 +0200 |
commit | 1b9129809d8269acb8e7c79d8fc99c7976b4f76e (patch) | |
tree | c295744bdee425cdea4e00883d084957c1cb45ce | |
parent | f43e7ac4eee22dbb26fc069ec9a3d1598ec8dfe9 (diff) | |
download | vim-git-1b9129809d8269acb8e7c79d8fc99c7976b4f76e.tar.gz |
patch 8.2.1773: crash when calling mapset() with a list as first argumentv8.2.1773
Problem: Crash when calling mapset() with a list as first argument.
Solution: Check for NULL. (closes #7040)
-rw-r--r-- | src/map.c | 2 | ||||
-rw-r--r-- | src/testdir/test_maparg.vim | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 6 insertions, 0 deletions
@@ -2304,6 +2304,8 @@ f_mapset(typval_T *argvars, typval_T *rettv UNUSED) char_u *arg; which = tv_get_string_buf_chk(&argvars[0], buf); + if (which == NULL) + return; mode = get_map_mode(&which, 0); is_abbr = (int)tv_get_number(&argvars[1]); diff --git a/src/testdir/test_maparg.vim b/src/testdir/test_maparg.vim index ea921d638..285474d52 100644 --- a/src/testdir/test_maparg.vim +++ b/src/testdir/test_maparg.vim @@ -238,6 +238,8 @@ func Test_mapset() iunmap K let &cpo = cpo_save bwipe! + + call assert_fails('call mapset([], v:false, {})', 'E730:') endfunc func Check_ctrlb_map(d, check_alt) diff --git a/src/version.c b/src/version.c index d5c8f3027..acac541fe 100644 --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1773, +/**/ 1772, /**/ 1771, |