# HG changeset patch # User Bram Moolenaar # Date 1279308546 -7200 # Node ID 1a6c5a3ff6879c9c804df923037096125ea06d5f # Parent 70be008dff4f007733ad23193cb52f139b9e086a Fix bad parsing of 'colorcolumn'. (Dominique Pelle) diff --git a/src/option.c b/src/option.c --- 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);