Mercurial > vim
diff src/userfunc.c @ 19685:d64f403289db v8.2.0399
patch 8.2.0399: various memory leaks
Commit: https://github.com/vim/vim/commit/292b90d4fa11022661f449dd3efb73d5ac737313
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Mar 18 15:23:16 2020 +0100
patch 8.2.0399: various memory leaks
Problem: Various memory leaks.
Solution: Avoid the leaks. (Ozaki Kiichi, closes https://github.com/vim/vim/issues/5803)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 18 Mar 2020 15:30:04 +0100 |
parents | aae19dd172c0 |
children | 293a22b677a8 |
line wrap: on
line diff
--- a/src/userfunc.c +++ b/src/userfunc.c @@ -942,6 +942,8 @@ func_clear_items(ufunc_T *fp) ga_clear_strings(&(fp->uf_lines)); VIM_CLEAR(fp->uf_name_exp); VIM_CLEAR(fp->uf_arg_types); + VIM_CLEAR(fp->uf_def_arg_idx); + VIM_CLEAR(fp->uf_va_name); ga_clear(&fp->uf_type_list); #ifdef FEAT_PROFILE VIM_CLEAR(fp->uf_tml_count); @@ -3086,11 +3088,11 @@ ex_function(exarg_T *eap) erret: ga_clear_strings(&newargs); - ga_clear_strings(&argtypes); ga_clear_strings(&default_args); errret_2: ga_clear_strings(&newlines); ret_free: + ga_clear_strings(&argtypes); vim_free(skip_until); vim_free(line_to_free); vim_free(fudi.fd_newkey);