fixed some leaks and error codes
This commit is contained in:
18
srcs/exec.c
18
srcs/exec.c
@ -6,7 +6,7 @@
|
|||||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/02/07 14:12:49 by tomoron #+# #+# */
|
/* Created: 2024/02/07 14:12:49 by tomoron #+# #+# */
|
||||||
/* Updated: 2024/02/28 12:47:01 by marde-vr ### ########.fr */
|
/* Updated: 2024/02/28 18:53:41 by marde-vr ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -201,12 +201,26 @@ void pipe_child(t_msh *msh, char **cmd_args, int i)
|
|||||||
|| !ft_strcmp(msh->cmds->token, "alias")
|
|| !ft_strcmp(msh->cmds->token, "alias")
|
||||||
|| !ft_strcmp(msh->cmds->token, "unalias")
|
|| !ft_strcmp(msh->cmds->token, "unalias")
|
||||||
|| !ft_strcmp(msh->cmds->token, "exit") || exec_builtin(msh)))
|
|| !ft_strcmp(msh->cmds->token, "exit") || exec_builtin(msh)))
|
||||||
|
{
|
||||||
|
while(i >= 0)
|
||||||
|
{
|
||||||
|
free(msh->fds[i]);
|
||||||
|
i--;
|
||||||
|
}
|
||||||
|
free(cmd_args);
|
||||||
ft_exit(msh, 1);
|
ft_exit(msh, 1);
|
||||||
|
}
|
||||||
if (msh->cmds->token)
|
if (msh->cmds->token)
|
||||||
execve(msh->cmds->token, cmd_args, env_to_char_tab(msh->env));
|
execve(msh->cmds->token, cmd_args, env_to_char_tab(msh->env));
|
||||||
close(0);
|
close(0);
|
||||||
close(1);
|
close(1);
|
||||||
close(2);
|
close(2);
|
||||||
|
while(i >= 0)
|
||||||
|
{
|
||||||
|
free(msh->fds[i]);
|
||||||
|
i--;
|
||||||
|
}
|
||||||
|
free(cmd_args);
|
||||||
ft_exit(msh, 1);
|
ft_exit(msh, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -383,7 +397,7 @@ void get_out_type(t_msh *msh)
|
|||||||
if (msh->out_fd == -1)
|
if (msh->out_fd == -1)
|
||||||
{
|
{
|
||||||
perror("open");
|
perror("open");
|
||||||
ft_exit(msh, 2);
|
ft_exit(msh, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/02/26 20:20:31 by marde-vr #+# #+# */
|
/* Created: 2024/02/26 20:20:31 by marde-vr #+# #+# */
|
||||||
/* Updated: 2024/02/27 19:23:08 by marde-vr ### ########.fr */
|
/* Updated: 2024/02/28 17:39:18 by marde-vr ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ void handle_here_doc(t_msh *msh, char *eof)
|
|||||||
if (msh->in_fd == -1)
|
if (msh->in_fd == -1)
|
||||||
{
|
{
|
||||||
perror("open");
|
perror("open");
|
||||||
ft_exit(msh, 2);
|
ft_exit(msh, 1);
|
||||||
}
|
}
|
||||||
eof = ft_strjoin_free(eof, "\n", 1);
|
eof = ft_strjoin_free(eof, "\n", 1);
|
||||||
if (!eof)
|
if (!eof)
|
||||||
@ -104,6 +104,6 @@ void handle_here_doc(t_msh *msh, char *eof)
|
|||||||
if (msh->in_fd == -1)
|
if (msh->in_fd == -1)
|
||||||
{
|
{
|
||||||
perror("open");
|
perror("open");
|
||||||
ft_exit(msh, 2);
|
ft_exit(msh, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
/* By: marde-vr <marde-vr@42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/02/09 15:26:01 by tomoron #+# #+# */
|
/* Created: 2024/02/09 15:26:01 by tomoron #+# #+# */
|
||||||
/* Updated: 2024/02/21 12:57:40 by marde-vr ### ########.fr */
|
/* Updated: 2024/02/28 18:48:27 by marde-vr ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
#include "minishell.h"
|
#include "minishell.h"
|
||||||
|
Reference in New Issue
Block a user