From 46c7f91cdceef0d5dd801ac569fb5d0c76b711aa Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Wed, 16 Sep 2020 20:25:08 +0200 Subject: Fixing memory leaks in preprocess and parser --- src/lexer/lexer.c | 16 +++++++++++++--- src/lexer/trim.c | 2 +- src/lexer/utils.c | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) (limited to 'src/lexer') diff --git a/src/lexer/lexer.c b/src/lexer/lexer.c index 26355fe..7a39373 100644 --- a/src/lexer/lexer.c +++ b/src/lexer/lexer.c @@ -6,7 +6,7 @@ /* By: nahaddac +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/07/16 08:18:25 by nahaddac #+# #+# */ -/* Updated: 2020/09/16 16:37:49 by charles ### ########.fr */ +/* Updated: 2020/09/16 20:17:10 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -105,12 +105,22 @@ t_tok_lst *create_token_list(char *input, t_tok_lst **lst) int lexer(char *input, t_tok_lst **out) { int status; + t_tok_lst *curr; if (!input) return (2); *out = NULL; *out = create_token_list(input, out); status = lexer_trim(*out); - return status; - + curr = *out; + while (curr != NULL) + { + if (!(curr->tag & TAG_IS_STR)) + { + free(curr->content); + curr->content = NULL; + } + curr = curr->next; + } + return (status); } diff --git a/src/lexer/trim.c b/src/lexer/trim.c index 34e162a..652a78b 100644 --- a/src/lexer/trim.c +++ b/src/lexer/trim.c @@ -6,7 +6,7 @@ /* By: nahaddac +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/07/16 08:18:36 by nahaddac #+# #+# */ -/* Updated: 2020/09/16 16:39:37 by charles ### ########.fr */ +/* Updated: 2020/09/16 20:09:42 by charles ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/src/lexer/utils.c b/src/lexer/utils.c index 66b2af7..71bcd94 100644 --- a/src/lexer/utils.c +++ b/src/lexer/utils.c @@ -6,7 +6,7 @@ /* By: nahaddac +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/07/16 08:18:15 by nahaddac #+# #+# */ -/* Updated: 2020/09/16 16:37:20 by charles ### ########.fr */ +/* Updated: 2020/09/16 20:07:33 by charles ### ########.fr */ /* */ /* ************************************************************************** */ -- cgit