diff options
| author | Chiu-Hsiang Hsu <wdv4758h@gmail.com> | 2015-07-31 02:18:18 +0800 |
|---|---|---|
| committer | Justin M. Keyes <justinkz@gmail.com> | 2015-08-25 18:43:49 -0400 |
| commit | 54973477e7a7cc8f955d1755d3243e7f89461e34 (patch) | |
| tree | 0f5be480de3c06c05ebe5483cd4c0310ad4bb767 /src/nvim/fileio.c | |
| parent | 2753be6e4dee9e697bf5f48329bb1958c9b6d6ab (diff) | |
| download | rneovim-54973477e7a7cc8f955d1755d3243e7f89461e34.tar.gz rneovim-54973477e7a7cc8f955d1755d3243e7f89461e34.tar.bz2 rneovim-54973477e7a7cc8f955d1755d3243e7f89461e34.zip | |
vim-patch:7.4.799
Problem: Accessing memory before an allocated block.
Solution: Check for not going before the start of a pattern. (Dominique Pelle)
https://github.com/vim/vim/commit/v7-4-799
Diffstat (limited to 'src/nvim/fileio.c')
| -rw-r--r-- | src/nvim/fileio.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c index 70cdac7947..7689b750c5 100644 --- a/src/nvim/fileio.c +++ b/src/nvim/fileio.c @@ -5749,16 +5749,19 @@ static int do_autocmd_event(event_T event, char_u *pat, int nested, char_u *cmd, * Find end of the pattern. * Watch out for a comma in braces, like "*.\{obj,o\}". */ + endpat = pat; + // ignore single comma + if (*endpat == ',') { + continue; + } brace_level = 0; - for (endpat = pat; *endpat && (*endpat != ',' || brace_level - || endpat[-1] == '\\'); ++endpat) { + for (; *endpat && (*endpat != ',' || brace_level || endpat[-1] == '\\'); + ++endpat) { if (*endpat == '{') brace_level++; else if (*endpat == '}') brace_level--; } - if (pat == endpat) /* ignore single comma */ - continue; patlen = (int)(endpat - pat); /* |