ecore - efl exe - check returns of open and dup2 for stdin etc. fds

check returns - fix CID 1397002
This commit is contained in:
Carsten Haitzler 2020-09-19 23:59:59 +01:00
parent 568dd7e45b
commit ca4b939364
1 changed files with 8 additions and 5 deletions

View File

@ -537,13 +537,14 @@ _efl_exe_efl_task_run(Eo *obj, Efl_Exe_Data *pd)
{
// hide stdin
devnull = open("/dev/null", O_RDONLY);
dup2(devnull, STDIN_FILENO);
if (devnull < 0) _exit(1);
if (dup2(devnull, STDIN_FILENO) < 0) _exit(1);
close(devnull);
}
else if ((td->flags & EFL_TASK_FLAGS_USE_STDIN))
{
// hook up stdin to the pipe going to the parent
dup2(pipe_stdin[0], STDIN_FILENO);
if (dup2(pipe_stdin[0], STDIN_FILENO) < 0) _exit(1);
close(pipe_stdin[0]);
}
@ -552,13 +553,14 @@ _efl_exe_efl_task_run(Eo *obj, Efl_Exe_Data *pd)
{
// hide stdout
devnull = open("/dev/null", O_WRONLY);
dup2(devnull, STDOUT_FILENO);
if (devnull < 0) _exit(1);
if (dup2(devnull, STDOUT_FILENO) < 0) _exit(1);
close(devnull);
}
else if ((td->flags & EFL_TASK_FLAGS_USE_STDOUT))
{
// hook up stdout to the pipe going to the parent
dup2(pipe_stdout[1], STDOUT_FILENO);
if (dup2(pipe_stdout[1], STDOUT_FILENO) < 0) _exit(1);
close(pipe_stdout[1]);
}
@ -566,7 +568,8 @@ _efl_exe_efl_task_run(Eo *obj, Efl_Exe_Data *pd)
{
// hide stderr
devnull = open("/dev/null", O_WRONLY);
dup2(devnull, STDERR_FILENO);
if (devnull < 0) _exit(1);
if (dup2(devnull, STDERR_FILENO) < 0) _exit(1);
close(devnull);
}