# HG changeset patch # User Bram Moolenaar # Date 1603057503 -7200 # Node ID 1064b9f05b0ad60bb556dc165bb65752e8139a06 # Parent ea7853a7191641a727da702c2fc6f78824b353a8 patch 8.2.1862: vim9: memory leak when compiling lambda fails Commit: https://github.com/vim/vim/commit/2ea79ad83584f5d668adfb935be67ee0e0e9995b Author: Bram Moolenaar Date: Sun Oct 18 23:32:13 2020 +0200 patch 8.2.1862: vim9: memory leak when compiling lambda fails Problem: vim9: memory leak when compiling lambda fails. Solution: Call clear_evalarg(). 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 */ /**/ + 1862, +/**/ 1861, /**/ 1860, diff --git a/src/vim9compile.c b/src/vim9compile.c --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -2692,7 +2692,10 @@ compile_lambda(char_u **arg, cctx_T *cct // Get the funcref in "rettv". if (get_lambda_tv(arg, &rettv, &evalarg) != OK) + { + clear_evalarg(&evalarg, NULL); return FAIL; + } ufunc = rettv.vval.v_partial->pt_func; ++ufunc->uf_refcount;