From: Bram Moolenaar Date: Sat, 9 May 2020 14:44:22 +0000 (+0200) Subject: patch 8.2.0721: Vim9: leaking memory when skipping X-Git-Tag: v8.2.0721 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=497f76bfbf9d5fe951221573d23696bb9e512c0b;p=vim patch 8.2.0721: Vim9: leaking memory when skipping Problem: Vim9: leaking memory when skipping. Solution: Disable skipping in generate_ppconst(). --- diff --git a/src/version.c b/src/version.c index 456516f97..f51f51df9 100644 --- a/src/version.c +++ b/src/version.c @@ -746,6 +746,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 721, /**/ 720, /**/ diff --git a/src/vim9compile.c b/src/vim9compile.c index 944efa197..a41972520 100644 --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -2417,11 +2417,14 @@ generate_ppconst(cctx_T *cctx, ppconst_T *ppconst) { int i; int ret = OK; + int save_skip = cctx->ctx_skip; + cctx->ctx_skip = FALSE; for (i = 0; i < ppconst->pp_used; ++i) if (generate_tv_PUSH(cctx, &ppconst->pp_tv[i]) == FAIL) ret = FAIL; ppconst->pp_used = 0; + cctx->ctx_skip = save_skip; return ret; } @@ -2754,6 +2757,7 @@ compile_call( ++ppconst->pp_used; return OK; } + clear_tv(&argvars[0]); } if (generate_ppconst(cctx, ppconst) == FAIL)