diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-12-04 12:43:29 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-12-04 12:43:29 +0100 |
commit | 21e51221f2c4f301912a5d59c748351b02c3df9e (patch) | |
tree | f12b625c2f9ca61943d6b1258e629314e2c016ec | |
parent | 476268c387a05cfda9feaca8d1a5eeb535ed9f49 (diff) | |
download | vim-git-21e51221f2c4f301912a5d59c748351b02c3df9e.tar.gz |
patch 8.2.2087: Vim9: memory leak when statement is truncatedv8.2.2087
Problem: Vim9: memory leak when statement is truncated.
Solution: Increment the number of local variables.
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/vim9compile.c | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/version.c b/src/version.c index eb5a8e228..3517510bb 100644 --- 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 */ /**/ + 2087, +/**/ 2086, /**/ 2085, diff --git a/src/vim9compile.c b/src/vim9compile.c index 7464fc1f9..4b8a8ad71 100644 --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -5669,7 +5669,11 @@ compile_assignment(char_u *arg, exarg_T *eap, cmdidx_T cmdidx, cctx_T *cctx) wp = op + oplen; p = skipwhite(wp); if (may_get_next_line_error(wp, &p, cctx) == FAIL) + { + if (new_local) + ++cctx->ctx_locals.ga_len; goto theend; + } r = compile_expr0_ext(&p, cctx, &is_const); if (new_local) ++cctx->ctx_locals.ga_len; |