From: Bram Moolenaar Date: Sat, 22 Jul 2017 15:04:02 +0000 (+0200) Subject: patch 8.0.0743: the 'termsize' option can be set to an invalid value X-Git-Tag: v8.0.0743 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=825680f5f4ffed5d57fdb283dde5f0ad734605fc;p=vim patch 8.0.0743: the 'termsize' option can be set to an invalid value Problem: The 'termsize' option can be set to an invalid value. Solution: Check the 'termsize' option to be valid. --- diff --git a/src/option.c b/src/option.c index 8e91fae74..524789371 100644 --- a/src/option.c +++ b/src/option.c @@ -7479,6 +7479,19 @@ did_set_string_option( } #endif +#ifdef FEAT_TERMINAL + /* 'termsize' */ + else if (varp == &curwin->w_p_tms) + { + if (*curwin->w_p_tms != NUL) + { + p = skipdigits(curwin->w_p_tms); + if (p == curwin->w_p_tms || *p != 'x' || *skipdigits(p + 1) != NUL) + errmsg = e_invarg; + } + } +#endif + /* Options that are a list of flags. */ else { diff --git a/src/testdir/gen_opt_test.vim b/src/testdir/gen_opt_test.vim index 019c757df..128a91814 100644 --- a/src/testdir/gen_opt_test.vim +++ b/src/testdir/gen_opt_test.vim @@ -124,6 +124,7 @@ let test_values = { \ 'switchbuf': [['', 'useopen', 'split,newtab'], ['xxx']], \ 'tagcase': [['smart', 'match'], ['', 'xxx', 'smart,match']], \ 'term': [[], []], + \ 'termsize': [['', '24x80', '0x80', '32x0', '0x0'], ['xxx', '80', '8ax9', '24x80b']], \ 'toolbar': [['', 'icons', 'text'], ['xxx']], \ 'toolbariconsize': [['', 'tiny', 'huge'], ['xxx']], \ 'ttymouse': [['', 'xterm'], ['xxx']], diff --git a/src/version.c b/src/version.c index b678ed92b..da56b9a31 100644 --- a/src/version.c +++ b/src/version.c @@ -769,6 +769,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 743, /**/ 742, /**/