From 0cfda8e58c9ceb635ddd1b60ca91f104792bd6af Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Mon, 17 Mar 2025 21:43:15 +0100 Subject: [PATCH] Fix memory leak in mood parser. If a mood definition contains an invalid regular expression, we leak one ast node structure per yyparse() call. --- yy/mp.lex | 1 + 1 file changed, 1 insertion(+) diff --git a/yy/mp.lex b/yy/mp.lex index 4a53db27..27e968bf 100644 --- a/yy/mp.lex +++ b/yy/mp.lex @@ -118,6 +118,7 @@ false {return FALSE;} yylval->node = mp_new_ast_leaf_node(REGEX_PATTERN); ret = mp_parse_regex_pattern(yytext, &yylval->node->sv.re_pattern); if (ret < 0) { + free(yylval->node); mp_parse_error(yylloc->first_line, ctx, "%s: %s", yytext, para_strerror(-ret)); return -E_MOOD_PARSE; -- 2.39.5