From e83c133eb900898c39e6935a5d569308ff882342 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 2 Jan 2023 21:04:04 +0000 Subject: [PATCH] patch 9.0.1136: memory leak when getting class member type from expr Problem: Memory leak when getting class member type from expr. Solution: Clear the expression result. --- src/version.c | 2 ++ src/vim9class.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/version.c b/src/version.c index 72493e3c1f..ab0c923176 100644 --- a/src/version.c +++ b/src/version.c @@ -695,6 +695,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1136, /**/ 1135, /**/ diff --git a/src/vim9class.c b/src/vim9class.c index e764f7088f..2717a7905a 100644 --- a/src/vim9class.c +++ b/src/vim9class.c @@ -99,8 +99,11 @@ parse_member( int res = eval0(expr, &tv, eap, &evalarg); if (res == OK) + { type = typval2type(&tv, get_copyID(), type_list, TVTT_DO_MEMBER); + clear_tv(&tv); + } if (type == NULL) { semsg(_(e_cannot_get_object_member_type_from_initializer_str),