patch 8.2.0117: crash when using gettabwinvar() with invalid arguments
Problem: Crash when using gettabwinvar() with invalid arguments. (Yilin
Yang)
Solution: Use "curtab" if "tp" is NULL. (closes #5475)
diff --git a/src/evalwindow.c b/src/evalwindow.c
index 672bfc1..fb54033 100644
--- a/src/evalwindow.c
+++ b/src/evalwindow.c
@@ -183,7 +183,8 @@
{
#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 5a96548..5da5991 100644
--- a/src/testdir/test_getvar.vim
+++ b/src/testdir/test_getvar.vim
@@ -83,6 +83,7 @@
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 1e79e03..25049a0 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 117,
+/**/
116,
/**/
115,