From ac38ec7c7f7cb0ab94397dc19bd72b0a84afdbe5 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 29 Sep 2022 20:23:35 +0100 Subject: [PATCH] patch 9.0.0624: leaking argument type array Problem: Leaking argument type array. Solution: Add allocated memory to type_gap. --- src/version.c | 2 ++ src/vim9type.c | 11 ++++------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/version.c b/src/version.c index bcc0b24be..816dfb47f 100644 --- a/src/version.c +++ b/src/version.c @@ -699,6 +699,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 624, /**/ 623, /**/ diff --git a/src/vim9type.c b/src/vim9type.c index 6f205546d..c4aec7b19 100644 --- a/src/vim9type.c +++ b/src/vim9type.c @@ -58,13 +58,10 @@ copy_type(type_T *type, garray_T *type_gap) 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; } -- 2.40.0