summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-01-14 19:05:39 +0100
committerBram Moolenaar <Bram@vim.org>2020-01-14 19:05:39 +0100
commitee93b737aaa7bf65edc7281f429dd89fcf657a6f (patch)
tree9d9019b603e4d2e09baf7e3816c771dd66d70b4a
parentc10b521628f2b073fa231defa26f23937c91724d (diff)
downloadvim-git-ee93b737aaa7bf65edc7281f429dd89fcf657a6f.tar.gz
patch 8.2.0117: crash when using gettabwinvar() with invalid argumentsv8.2.0117
Problem: Crash when using gettabwinvar() with invalid arguments. (Yilin Yang) Solution: Use "curtab" if "tp" is NULL. (closes #5475)
-rw-r--r--src/evalwindow.c3
-rw-r--r--src/testdir/test_getvar.vim1
-rw-r--r--src/version.c2
3 files changed, 5 insertions, 1 deletions
diff --git a/src/evalwindow.c b/src/evalwindow.c
index 672bfc13c..fb54033e5 100644
--- a/src/evalwindow.c
+++ b/src/evalwindow.c
@@ -183,7 +183,8 @@ find_win_by_nr(
{
#ifdef FEAT_PROP_POPUP
// check tab-local popup windows
- for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next)
+ for (wp = (tp == NULL ? curtab : tp)->tp_first_popupwin;
+ wp != NULL; wp = wp->w_next)
if (wp->w_id == nr)
return wp;
// check global popup windows
diff --git a/src/testdir/test_getvar.vim b/src/testdir/test_getvar.vim
index 5a9654889..5da599136 100644
--- a/src/testdir/test_getvar.vim
+++ b/src/testdir/test_getvar.vim
@@ -83,6 +83,7 @@ func Test_var()
unlet def_dict
+ call assert_equal("", gettabwinvar(9, 2020, ''))
call assert_equal('', gettabwinvar(2, 3, '&nux'))
call assert_equal(1, gettabwinvar(2, 3, '&nux', 1))
tabonly
diff --git a/src/version.c b/src/version.c
index 1e79e03c6..25049a0ff 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 117,
+/**/
116,
/**/
115,