From d1d2684c8006105444d249e846576c23d79ad4ee Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 31 Mar 2022 10:13:47 +0100 Subject: [PATCH] patch 8.2.4652: leaking memory if assignment fails Problem: Leaking memory if assignment fails. Solution: Clear assigned value on failure. --- src/version.c | 2 ++ src/vim9execute.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/version.c b/src/version.c index fdc4ae3c5..843affd3e 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 4652, /**/ 4651, /**/ diff --git a/src/vim9execute.c b/src/vim9execute.c index 19f5bdc76..7ff2eaf09 100644 --- a/src/vim9execute.c +++ b/src/vim9execute.c @@ -3098,6 +3098,7 @@ exec_instructions(ectx_T *ectx) if (iptr->isn_type == ISN_STOREEXPORT) { semsg(_(e_undefined_variable_str), name); + clear_tv(STACK_TV_BOT(0)); goto on_error; } store_var(name, STACK_TV_BOT(0)); @@ -3118,6 +3119,7 @@ exec_instructions(ectx_T *ectx) { semsg(_(e_item_not_exported_in_script_str), name); + clear_tv(STACK_TV_BOT(0)); goto on_error; } } -- 2.50.1