From 6d1f1ce66e423b9f3c27c6621b099c8ec9a183f0 Mon Sep 17 00:00:00 2001 From: samsonium Date: Sun, 25 Oct 2026 04:57:01 +0300 Subject: [PATCH] fix: memory leak in postfix parsing function --- src/compiler/fzl_parser.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/compiler/fzl_parser.c b/src/compiler/fzl_parser.c index 5203385..9b3a2e8 100644 --- a/src/compiler/fzl_parser.c +++ b/src/compiler/fzl_parser.c @@ -232,7 +232,10 @@ fzl_node_t *parse_postfix(fzl_parser_t *parser) fzl_node_t *arg = parse_expression(parser); if (!arg) { + for (size_t i = 0; i < args_count; i++) + fzl_freeast(args[i]); free(args); + fzl_freeast(left); return NULL; } @@ -252,6 +255,8 @@ fzl_node_t *parse_postfix(fzl_parser_t *parser) fzl_token_t *rparen = consume(parser); if (!rparen || rparen->type != FZL_TOKTYPE_RPAREN) { + for (size_t i = 0; i < args_count; i++) + fzl_freeast(args[i]); free(args); fzl_freeast(left); snprintf(plast_err, sizeof(plast_err),