Skip to content

Commit 4b9896c

Browse files
brandb97chrisbra
authored andcommitted
patch 9.1.1852: vim9class: memory leak in parse_member()
Problem: vim9class: fix memory leak in parse_member() Solution: Free evalarg before returning (Lidong Yan) In parse_member(), skip_expr_concatenate() allocates memory in evalarg. However parse_member() forgets to free evalarg at early return-fail point. Add clear_evalarg() at early return-fail point. closes: #18533 Signed-off-by: Lidong Yan <502024330056@smail.nju.edu.cn> Signed-off-by: Christian Brabandt <cb@256bit.org>
1 parent dc75a20 commit 4b9896c

2 files changed

Lines changed: 3 additions & 0 deletions

File tree

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -729,6 +729,8 @@ static char *(features[]) =
729729

730730
static int included_patches[] =
731731
{ /* Add new patch number below this line */
732+
/**/
733+
1852,
732734
/**/
733735
1851,
734736
/**/

src/vim9class.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ parse_member(
135135
if (*init_arg != NUL && !vim9_comment_start(init_arg))
136136
{
137137
semsg(_(e_trailing_characters_str), init_arg);
138+
clear_evalarg(&evalarg, NULL);
138139
return FAIL;
139140
}
140141

0 commit comments

Comments
 (0)