From: Bram Moolenaar Date: Mon, 2 Jan 2023 21:04:04 +0000 (+0000) Subject: patch 9.0.1136: memory leak when getting class member type from expr X-Git-Tag: v9.0.1136 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e83c133eb900898c39e6935a5d569308ff882342;p=thirdparty%2Fvim.git 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. --- 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),