Mercurial > vim
comparison src/proto/regexp.pro @ 29048:c98fc7a4dde4 v8.2.5046
patch 8.2.5046: vim_regsub() can overwrite the destination
Commit: https://github.com/vim/vim/commit/4aaf3e7f4db599932d01d87e5bbcdc342cccee27
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon May 30 20:58:55 2022 +0100
patch 8.2.5046: vim_regsub() can overwrite the destination
Problem: vim_regsub() can overwrite the destination.
Solution: Pass the destination length, give an error when it doesn't fit.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 30 May 2022 22:00:03 +0200 |
parents | bb29b09902d5 |
children | b90bca860b5a |
comparison
equal
deleted
inserted
replaced
29047:fd46c946d9bf | 29048:c98fc7a4dde4 |
---|---|
4 char_u *skip_regexp_err(char_u *startp, int delim, int magic); | 4 char_u *skip_regexp_err(char_u *startp, int delim, int magic); |
5 char_u *skip_regexp_ex(char_u *startp, int dirc, int magic, char_u **newp, int *dropped, magic_T *magic_val); | 5 char_u *skip_regexp_ex(char_u *startp, int dirc, int magic, char_u **newp, int *dropped, magic_T *magic_val); |
6 reg_extmatch_T *ref_extmatch(reg_extmatch_T *em); | 6 reg_extmatch_T *ref_extmatch(reg_extmatch_T *em); |
7 void unref_extmatch(reg_extmatch_T *em); | 7 void unref_extmatch(reg_extmatch_T *em); |
8 char_u *regtilde(char_u *source, int magic); | 8 char_u *regtilde(char_u *source, int magic); |
9 int vim_regsub(regmatch_T *rmp, char_u *source, typval_T *expr, char_u *dest, int copy, int magic, int backslash); | 9 int vim_regsub(regmatch_T *rmp, char_u *source, typval_T *expr, char_u *dest, int destlen, int flags); |
10 int vim_regsub_multi(regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int copy, int magic, int backslash); | 10 int vim_regsub_multi(regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int destlen, int flags); |
11 char_u *reg_submatch(int no); | 11 char_u *reg_submatch(int no); |
12 list_T *reg_submatch_list(int no); | 12 list_T *reg_submatch_list(int no); |
13 int vim_regcomp_had_eol(void); | 13 int vim_regcomp_had_eol(void); |
14 regprog_T *vim_regcomp(char_u *expr_arg, int re_flags); | 14 regprog_T *vim_regcomp(char_u *expr_arg, int re_flags); |
15 void vim_regfree(regprog_T *prog); | 15 void vim_regfree(regprog_T *prog); |