changeset 31608:8e965e5a46c9 v9.0.1136

patch 9.0.1136: memory leak when getting class member type from expr Commit: https://github.com/vim/vim/commit/e83c133eb900898c39e6935a5d569308ff882342 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Jan 2 21:04:04 2023 +0000 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.
author Bram Moolenaar <Bram@vim.org>
date Mon, 02 Jan 2023 22:15:03 +0100
parents ff068ae8db41
children 8642b33aab9f
files src/version.c src/vim9class.c
diffstat 2 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1136,
+/**/
     1135,
 /**/
     1134,
--- 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),