Mercurial > vim
view src/proto/vim9cmds.pro @ 29647:d564107db756 v9.0.0164
patch 9.0.0164: using freed memory with put command
Commit: https://github.com/vim/vim/commit/c390cc13e55b25d85a0684aa1becde881ef8ab19
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Aug 7 18:09:10 2022 +0100
patch 9.0.0164: using freed memory with put command
Problem: Using freed memory with put command.
Solution: Get byte offset before replacing the line.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 07 Aug 2022 19:15:02 +0200 |
parents | 4b23672d1f0e |
children | 6cf788ab844c |
line wrap: on
line source
/* vim9cmds.c */ void free_locals(cctx_T *cctx); int check_vim9_unlet(char_u *name); char_u *compile_unletlock(char_u *arg, exarg_T *eap, cctx_T *cctx); void drop_scope(cctx_T *cctx); char_u *compile_if(char_u *arg, cctx_T *cctx); char_u *compile_elseif(char_u *arg, cctx_T *cctx); char_u *compile_else(char_u *arg, cctx_T *cctx); char_u *compile_endif(char_u *arg, cctx_T *cctx); char_u *compile_for(char_u *arg_start, cctx_T *cctx); char_u *compile_endfor(char_u *arg, cctx_T *cctx); char_u *compile_while(char_u *arg, cctx_T *cctx); char_u *compile_endwhile(char_u *arg, cctx_T *cctx); char_u *compile_continue(char_u *arg, cctx_T *cctx); char_u *compile_break(char_u *arg, cctx_T *cctx); char_u *compile_block(char_u *arg, cctx_T *cctx); void compile_endblock(cctx_T *cctx); char_u *compile_try(char_u *arg, cctx_T *cctx); char_u *compile_catch(char_u *arg, cctx_T *cctx); char_u *compile_finally(char_u *arg, cctx_T *cctx); char_u *compile_endtry(char_u *arg, cctx_T *cctx); char_u *compile_throw(char_u *arg, cctx_T *cctx); char_u *compile_eval(char_u *arg, cctx_T *cctx); char_u *compile_mult_expr(char_u *arg, int cmdidx, cctx_T *cctx); char_u *compile_put(char_u *arg, exarg_T *eap, cctx_T *cctx); char_u *compile_exec(char_u *line_arg, exarg_T *eap, cctx_T *cctx); char_u *compile_script(char_u *line, cctx_T *cctx); char_u *compile_substitute(char_u *arg, exarg_T *eap, cctx_T *cctx); char_u *compile_redir(char_u *line, exarg_T *eap, cctx_T *cctx); char_u *compile_cexpr(char_u *line, exarg_T *eap, cctx_T *cctx); char_u *compile_return(char_u *arg, int check_return_type, int legacy, cctx_T *cctx); int check_global_and_subst(char_u *cmd, char_u *arg); /* vim: set ft=c : */