patch 8.2.1773: crash when calling mapset() with a list as first argument
Problem: Crash when calling mapset() with a list as first argument.
Solution: Check for NULL. (closes #7040)
diff --git a/src/map.c b/src/map.c
index eed3a55..6a994d4 100644
--- a/src/map.c
+++ b/src/map.c
@@ -2304,6 +2304,8 @@
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 ea921d6..285474d 100644
--- a/src/testdir/test_maparg.vim
+++ b/src/testdir/test_maparg.vim
@@ -238,6 +238,8 @@
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 d5c8f30..acac541 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1773,
+/**/
1772,
/**/
1771,