# HG changeset patch # User Bram Moolenaar # Date 1664479803 -7200 # Node ID f1010a0e62264a17f7cc4e8fdf84118c5cce179d # Parent a3b41eeccedf880420cfa54f9138467a876b8176 patch 9.0.0624: leaking argument type array Commit: https://github.com/vim/vim/commit/ac38ec7c7f7cb0ab94397dc19bd72b0a84afdbe5 Author: Bram Moolenaar Date: Thu Sep 29 20:23:35 2022 +0100 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 --- a/src/version.c +++ b/src/version.c @@ -700,6 +700,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 624, +/**/ 623, /**/ 622, diff --git a/src/vim9type.c b/src/vim9type.c --- a/src/vim9type.c +++ b/src/vim9type.c @@ -58,13 +58,10 @@ copy_type(type_T *type, garray_T *type_g 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; }