]> git.dkaiser.de - 42/minishell.git/commitdiff
Fix last leak
authorDominik Kaiser <dkaiser@3-H-7.42heilbronn.de>
Sat, 25 Jan 2025 13:42:46 +0000 (14:42 +0100)
committerDominik Kaiser <dkaiser@3-H-7.42heilbronn.de>
Sat, 25 Jan 2025 13:42:46 +0000 (14:42 +0100)
src/collect_redirs.c
src/execute_cmd.c

index 860d9bccceacf33956bdf1dc2e2204255171457b..c1b704733884faacbed25caca86eff785b03c051 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: chuhlig <chuhlig@student.42.fr>            +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   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,
index 9f00522e2ada328e28ac3f4891a111c5656b2c1f..adfcb37c0d8335c65b8d0fd1e0744973c8c4883d 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: chuhlig <chuhlig@student.42.fr>            +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   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);