patch 8.2.2748: Vim9: memory leak when calling :def function fails
Problem: Vim9: memory leak when calling :def function fails.
Solution: Jump to failed_early instead of returning.
diff --git a/src/version.c b/src/version.c
index 9fca01a..fa3a9a8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2748,
+/**/
2747,
/**/
2746,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index e7885ad..017d577 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -1343,7 +1343,7 @@
emsg(_(e_one_argument_too_many));
else
semsg(_(e_nr_arguments_too_many), idx);
- return FAIL;
+ goto failed_early;
}
// Put arguments on the stack, but no more than what the function expects.