From 74830292441828f590fb66e22efdf93ef6bc6688 Mon Sep 17 00:00:00 2001 From: y-syo Date: Sun, 21 Jul 2024 17:47:38 +0200 Subject: [PATCH] =?UTF-8?q?=E3=80=8C=F0=9F=94=A8=E3=80=8D=20fix(parsing/sp?= =?UTF-8?q?lit=5Fcmd):=20fixed=20leak=20when=20no=20command?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libft/src/mem/ft_free.c | 11 +++++++---- src/exec/exec_split_cmd.c | 4 ++-- src/parsing/split_argv.c | 2 +- src/parsing/split_cmd.c | 4 ++-- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/libft/src/mem/ft_free.c b/libft/src/mem/ft_free.c index 2dc15df..6742eb4 100644 --- a/libft/src/mem/ft_free.c +++ b/libft/src/mem/ft_free.c @@ -6,7 +6,7 @@ /* By: mmoussou +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/12 19:27:31 by mmoussou #+# #+# */ -/* Updated: 2024/01/18 01:05:44 by mmoussou ### ########.fr */ +/* Updated: 2024/07/21 17:38:12 by mmoussou ### ########.fr */ /* */ /* ************************************************************************** */ @@ -39,10 +39,13 @@ void free_tab(char ***arr) int i; i = 0; - while ((*arr)[i]) + if (*arr) { - free((*arr)[i]); - i++; + while ((*arr)[i]) + { + free((*arr)[i]); + i++; + } } free(*arr); *arr = NULL; diff --git a/src/exec/exec_split_cmd.c b/src/exec/exec_split_cmd.c index 8d2384f..96b5545 100644 --- a/src/exec/exec_split_cmd.c +++ b/src/exec/exec_split_cmd.c @@ -6,7 +6,7 @@ /* By: mmoussou cmd) { - free(cmd->argv); + ft_free("a", &(cmd->argv)); get_exit_code(0); return (0); } diff --git a/src/parsing/split_argv.c b/src/parsing/split_argv.c index 077cb33..c5451e5 100644 --- a/src/parsing/split_argv.c +++ b/src/parsing/split_argv.c @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/06/05 13:48:57 by adjoly #+# #+# */ -/* Updated: 2024/07/18 17:15:48 by adjoly ### ########.fr */ +/* Updated: 2024/07/21 17:33:54 by mmoussou ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/src/parsing/split_cmd.c b/src/parsing/split_cmd.c index 798f094..c1dba2d 100644 --- a/src/parsing/split_cmd.c +++ b/src/parsing/split_cmd.c @@ -6,7 +6,7 @@ /* By: mmoussou cmd = NULL; return (cmd); } + cmd->argv = split; cmd->cmd = ft_strdup(*split); if (!cmd->cmd) return (cmd); - cmd->argv = split; return (cmd); }