patch 9.0.0624: leaking argument type array
Problem: Leaking argument type array.
Solution: Add allocated memory to type_gap.
diff --git a/src/version.c b/src/version.c
index bcc0b24..816dfb4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 624,
+/**/
623,
/**/
622,
diff --git a/src/vim9type.c b/src/vim9type.c
index 6f20554..c4aec7b 100644
--- a/src/vim9type.c
+++ b/src/vim9type.c
@@ -58,13 +58,10 @@
return type;
*copy = *type;
- if (type->tt_args != NULL)
- {
- copy->tt_args = ALLOC_MULT(type_T *, type->tt_argcount);
- if (copy->tt_args != NULL)
- for (int i = 0; i < type->tt_argcount; ++i)
- copy->tt_args[i] = type->tt_args[i];
- }
+ if (type->tt_args != NULL
+ && func_type_add_arg_types(copy, type->tt_argcount, type_gap) == OK)
+ for (int i = 0; i < type->tt_argcount; ++i)
+ copy->tt_args[i] = type->tt_args[i];
return copy;
}