Mercurial > vim
changeset 2323:1a6c5a3ff687 vim73
Fix bad parsing of 'colorcolumn'. (Dominique Pelle)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Fri, 16 Jul 2010 21:29:06 +0200 |
parents | 70be008dff4f |
children | 0a258a67051d |
files | src/option.c |
diffstat | 1 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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);