diff --git a/42sh/src/main/data_exit.c b/42sh/src/main/data_exit.c index dba5a2ba..08ceca6e 100644 --- a/42sh/src/main/data_exit.c +++ b/42sh/src/main/data_exit.c @@ -17,6 +17,7 @@ void data_exit(void) t_data *data; data = data_singleton(); + ft_strdel(&data->line.input); ft_strdel(&data->binary); ft_sstrfree(data->env); ft_sstrfree(data->local_var); diff --git a/42sh/src/main/main.c b/42sh/src/main/main.c index 396dc632..8d74f850 100644 --- a/42sh/src/main/main.c +++ b/42sh/src/main/main.c @@ -23,7 +23,10 @@ static int do_readline_routine(char **stream) || data->parser.state == UNDEFINED || data->lexer.state == HEREDOC); ret = readline(has_prompt, stream); if (ret == -1) + { + ft_strdel(stream); exit(1); + } if (ret == 1 && data->parser.state == UNDEFINED) error_eof(); return (ret);