patch 8.2.2023: Vim: memory leak when :execute fails
Problem: Vim: memory leak when :execute fails.
Solution: Clear the growarray.
diff --git a/src/vim9execute.c b/src/vim9execute.c
index eca99f3..f154249 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -1200,7 +1200,10 @@
}
ectx.ec_stack.ga_len -= count;
if (failed)
+ {
+ ga_clear(&ga);
goto on_error;
+ }
if (ga.ga_data != NULL)
{
@@ -1209,7 +1212,10 @@
SOURCING_LNUM = iptr->isn_lnum;
do_cmdline_cmd((char_u *)ga.ga_data);
if (did_emsg)
+ {
+ ga_clear(&ga);
goto on_error;
+ }
}
else
{