patch 8.2.2505: Vim9: crash after defining function with invalid return type
Problem: Vim9: crash after defining function with invalid return type.
Solution: Clear function growarrays. Fix memory leak.
diff --git a/src/userfunc.c b/src/userfunc.c
index c9b15fd..3e17621 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -3955,8 +3955,15 @@
erret:
ga_clear_strings(&newargs);
ga_clear_strings(&default_args);
+ if (fp != NULL)
+ {
+ ga_init(&fp->uf_args);
+ ga_init(&fp->uf_def_args);
+ }
errret_2:
ga_clear_strings(&newlines);
+ if (fp != NULL)
+ VIM_CLEAR(fp->uf_arg_types);
ret_free:
ga_clear_strings(&argtypes);
vim_free(skip_until);