patch 9.2.0273: tabpanel: undefined behaviour with large tabpanelop columns

Problem:  tabpanel: undefined behaviour with large tabpanelop columns
          (Michał Majchrowicz)
Solution: Error out for too large column values

Co-authored-by: Michał Majchrowicz <mmajchrowicz@afine.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Christian Brabandt
2026-03-31 16:13:25 +00:00
parent e4502b6037
commit ac18dff65a
3 changed files with 10 additions and 1 deletions
+3 -1
View File
@@ -57,7 +57,7 @@ tabpanelopt_changed(void)
{
char_u *p;
int new_align = ALIGN_LEFT;
int new_columns = 20;
long new_columns = 20;
int new_is_vert = FALSE;
p = p_tplo;
@@ -83,6 +83,8 @@ tabpanelopt_changed(void)
{
p += 8;
new_columns = getdigits(&p);
if (new_columns < 1 || new_columns > 1000)
return FAIL;
}
else if (STRNCMP(p, "vert", 4) == 0)
{
+5
View File
@@ -887,4 +887,9 @@ func Test_tabpanel_no_modeline()
bw!
endfunc
func Test_tabpanel_large_columns()
call assert_fails(':set tabpanelopt=columns:10001', 'E474:')
call assert_fails(':set tabpanelopt=columns:-1', 'E474:')
endfunc
" vim: shiftwidth=2 sts=2 expandtab
+2
View File
@@ -734,6 +734,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
273,
/**/
272,
/**/