]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.2.0063: memory leak in type_name_list_or_dict() v9.2.0063
authorHuihui Huang <625173@qq.com>
Thu, 26 Feb 2026 20:41:11 +0000 (20:41 +0000)
committerChristian Brabandt <cb@256bit.org>
Thu, 26 Feb 2026 20:46:00 +0000 (20:46 +0000)
Problem:  memory leak in type_name_list_or_dict()
Solution: Free the variable member_free on early returns (Huihui Huang).

closes: #19513

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/version.c
src/vim9type.c

index dfc0431b1729c3bdbe6427df64803e41c6442bca..3be92258059a6a50cd4fc5562cc0f9ff1dcd4c4b 100644 (file)
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    63,
 /**/
     62,
 /**/
index be578f26b4db7bf4fd14cd1d9c7e197b31f9ebf9..3d9282f601205c3ad036f0e25dca7659503db96f 100644 (file)
@@ -2573,7 +2573,10 @@ type_name_list_or_dict(char *name, type_T *type, char **tofree)
     size_t len = STRLEN(name) + STRLEN(member_name) + 3;
     *tofree = alloc(len);
     if (*tofree == NULL)
+    {
+       vim_free(member_free);
        return name;
+    }
 
     vim_snprintf(*tofree, len, "%s<%s>", name, member_name);
     vim_free(member_free);