From eeeeed44a9c7e8bd2f6a579bcace1f90d8a040ec Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Fri, 9 Oct 2020 12:42:31 +0200 Subject: Fixing parenthesis leak in parser, Fixing crash on empty input --- src/parser/parser.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/parser/parser.c') diff --git a/src/parser/parser.c b/src/parser/parser.c index e861232..9d5a99d 100644 --- a/src/parser/parser.c +++ b/src/parser/parser.c @@ -6,7 +6,7 @@ /* By: nahaddac +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/06/17 18:09:04 by nahaddac #+# #+# */ -/* Updated: 2020/10/09 11:10:55 by cacharle ### ########.fr */ +/* Updated: 2020/10/09 12:35:51 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -107,7 +107,6 @@ t_parsed *parse_pipeline(t_tok_lst *input) { ast_destroy(expr->ast); free(expr); - /* tok_lst_destroy(expr->rest, free); */ return (parsed_error("syntax error expected token")); } tail = parse_pipeline(expr->rest); @@ -211,7 +210,11 @@ t_parsed *parse_expr(t_tok_lst *input) return (parsed); input = parsed->rest; if (input == NULL || !(input->tag & TAG_PARENT_CLOSE)) + { + ast_destroy(parsed->ast); + free(parsed); return (parsed_error("syntax error expected token")); + } tok_lst_pop_front(&input, free); if ((ast = ast_new(AST_PARENT)) == NULL) return (NULL); -- cgit