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 72493e3..ab0c923 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1136,
+/**/
1135,
/**/
1134,
diff --git a/src/vim9class.c b/src/vim9class.c
index e764f70..2717a79 100644
--- a/src/vim9class.c
+++ b/src/vim9class.c
@@ -99,8 +99,11 @@
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),