From: Bram Moolenaar Date: Fri, 16 Jul 2010 19:29:06 +0000 (+0200) Subject: Fix bad parsing of 'colorcolumn'. (Dominique Pelle) X-Git-Tag: v7.3~249 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=11505dcd2b4bf7ab892549f4ce29c0dbc53aac8b;p=vim Fix bad parsing of 'colorcolumn'. (Dominique Pelle) --- diff --git a/src/option.c b/src/option.c index fd763afbf..80eb9424c 100644 --- a/src/option.c +++ b/src/option.c @@ -6956,7 +6956,7 @@ check_colorcolumn(wp) int i; int j = 0; - for (s = wp->w_p_cc; *s != NUL && count < 255; ++s) + for (s = wp->w_p_cc; *s != NUL && count < 255;) { if (*s == '-' || *s == '+') { @@ -6967,21 +6967,23 @@ check_colorcolumn(wp) return e_invarg; col = col * getdigits(&s); if (wp->w_buffer->b_p_tw == 0) - continue; /* 'textwidth' not set, skip this item */ + goto skip; /* 'textwidth' not set, skip this item */ col += wp->w_buffer->b_p_tw; if (col < 0) - continue; + goto skip; } else if (VIM_ISDIGIT(*s)) col = getdigits(&s); else return e_invarg; color_cols[count++] = col - 1; /* 1-based to 0-based */ - +skip: if (*s == NUL) break; if (*s != ',') return e_invarg; + if (*++s == NUL) + return e_invarg; /* illegal trailing comma as in "set cc=80," */ } vim_free(wp->w_p_cc_cols);