From: Dominik Kaiser Date: Sat, 25 Jan 2025 13:42:46 +0000 (+0100) Subject: Fix last leak X-Git-Url: https://git.dkaiser.de/?a=commitdiff_plain;h=b427100b6c0c655f74dc689533a3f36edfeebffc;p=42%2Fminishell.git Fix last leak --- diff --git a/src/collect_redirs.c b/src/collect_redirs.c index 860d9bc..c1b7047 100644 --- a/src/collect_redirs.c +++ b/src/collect_redirs.c @@ -6,7 +6,7 @@ /* By: chuhlig +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/08/02 13:49:31 by dkaiser #+# #+# */ -/* Updated: 2025/01/25 11:40:52 by chuhlig ### ########.fr */ +/* Updated: 2025/01/25 14:37:06 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -53,7 +53,7 @@ static void collect_and_check_redir(t_redirection *result, t_token **cur, char *str; if ((*cur)->content.redir_type != INPUT_LIMITER) - str = ft_strdup((*cur)->next->content.string); + str = (*cur)->next->content.string; if ((*cur)->content.redir_type == INPUT_LIMITER) { if (!set_heredoc_data(*cur, result, data->env)) @@ -69,6 +69,7 @@ static void collect_and_check_redir(t_redirection *result, t_token **cur, q4fc(data->create_files, set_redir(&result[1], OUTPUT_APPEND, format_string(str, data->env, 0), data->env)); i_love_the_norme(cur, tokens); + free(str); } static t_redirection *set_redir(t_redirection *redir, int type, char *spec, diff --git a/src/execute_cmd.c b/src/execute_cmd.c index 9f00522..adfcb37 100644 --- a/src/execute_cmd.c +++ b/src/execute_cmd.c @@ -6,7 +6,7 @@ /* By: chuhlig +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/12/17 19:21:35 by chuhlig #+# #+# */ -/* Updated: 2025/01/25 11:41:42 by chuhlig ### ########.fr */ +/* Updated: 2025/01/25 14:42:39 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -49,6 +49,8 @@ int execute_cmd(t_cmd *cmd, t_env **env) int original_std[2]; int result; + if (cmd->args == NULL || cmd->args[0] == NULL) + return (EXIT_FAILURE); original_std[1] = dup(STDOUT_FILENO); original_std[0] = dup(STDIN_FILENO); create_files(cmd->create_files);