mirror of
https://github.com/neovim/neovim.git
synced 2025-09-17 08:48:16 +00:00
vim-patch:9.0.1145: invalid memory access with recursive substitute expression (#23132)
Problem: Invalid memory access with recursive substitute expression.
Solution: Check the return value of vim_regsub().
3ac1d97a1d
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
@@ -8375,6 +8375,10 @@ char *do_string_sub(char *str, char *pat, char *sub, typval_T *expr, const char
|
||||
// - The substituted text.
|
||||
// - The text after the match.
|
||||
sublen = vim_regsub(®match, sub, expr, tail, 0, REGSUB_MAGIC);
|
||||
if (sublen <= 0) {
|
||||
ga_clear(&ga);
|
||||
break;
|
||||
}
|
||||
ga_grow(&ga, (int)((end - tail) + sublen -
|
||||
(regmatch.endp[0] - regmatch.startp[0])));
|
||||
|
||||
|
Reference in New Issue
Block a user