# HG changeset patch # User Bram Moolenaar # Date 1605005105 -3600 # Node ID e4fbe8d1bde9a0d0534915d6abc49bcc8867c3d8 # Parent 4d9b91d6e29af9660fb5afa7ecf110d440298141 patch 8.2.1971: memory leak when map() fails Commit: https://github.com/vim/vim/commit/c56936e2ba4fd219f56aab616fcb283132455697 Author: Bram Moolenaar Date: Tue Nov 10 11:43:56 2020 +0100 patch 8.2.1971: memory leak when map() fails Problem: Memory leak when map() fails. Solution: Clear the typval. diff --git a/src/list.c b/src/list.c --- a/src/list.c +++ b/src/list.c @@ -2185,8 +2185,13 @@ filter_map(typval_T *argvars, typval_T * nli = li->li_next; set_vim_var_nr(VV_KEY, idx); if (filter_map_one(&li->li_tv, expr, filtermap, - &newtv, &rem) == FAIL || did_emsg) + &newtv, &rem) == FAIL) break; + if (did_emsg) + { + clear_tv(&newtv); + break; + } if (filtermap == FILTERMAP_MAP) { // map(): replace the list item value diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1971, +/**/ 1970, /**/ 1969,