diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-04-04 21:55:23 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-04-04 21:55:23 +0200 |
commit | f2dd9cb9958962302d33fab8fe6439645a2d1e1b (patch) | |
tree | 2cd8a6c7311fbcad6e6c4a10a70a18d7dc57b95a | |
parent | 3c49e74e18993915a779cafe4af3749b39fd3e2a (diff) | |
download | vim-git-f2dd9cb9958962302d33fab8fe6439645a2d1e1b.tar.gz |
patch 8.2.2712: memory leak when adding to a blob failsv8.2.2712
Problem: Memory leak when adding to a blob fails.
Solution: Clear the second typval before returning.
-rw-r--r-- | src/eval.c | 8 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/eval.c b/src/eval.c index 55fda77aa..d49264997 100644 --- a/src/eval.c +++ b/src/eval.c @@ -3008,10 +3008,12 @@ eval5(char_u **arg, typval_T *rettv, evalarg_T *evalarg) n1 = tv_get_number_chk(rettv, &error); if (error) { - // This can only happen for "list + non-list". For - // "non-list + ..." or "something - ...", we returned - // before evaluating the 2nd operand. + // This can only happen for "list + non-list" or + // "blob + non-blob". For "non-list + ..." or + // "something - ...", we returned before evaluating the + // 2nd operand. clear_tv(rettv); + clear_tv(&var2); return FAIL; } #ifdef FEAT_FLOAT diff --git a/src/version.c b/src/version.c index c9632c361..986ad77ea 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 */ /**/ + 2712, +/**/ 2711, /**/ 2710, |