mirror of
https://github.com/Savapitech/42sh.git
synced 2026-01-18 16:57:28 +01:00
Remove exec when afl mode is enabled
This commit is contained in:
@@ -146,12 +146,16 @@ int launch_bin(char *full_bin_path, char **args, ef_t *ef)
|
||||
|
||||
if (pid == 0) {
|
||||
set_fd(ef);
|
||||
#if !defined(AFL_MODE)
|
||||
if (execve(full_bin_path, args, ef->env->env) < 0) {
|
||||
status = command_error(full_bin_path, args, errno);
|
||||
free_env(ef->env);
|
||||
free((void *)args);
|
||||
exit((free(ef->buffer), status));
|
||||
}
|
||||
#else
|
||||
exit(0);
|
||||
#endif
|
||||
}
|
||||
if (!(ef->flags & F_PIPE) || ef->p_i == ef->p_sz - 1)
|
||||
waitpid(pid, &status, 0);
|
||||
|
||||
@@ -28,11 +28,13 @@ bool handle_out_redirect(ef_t *ef, ast_t *node, size_t i, size_t sz)
|
||||
ef->skip_i = ef->skip_i ?: i;
|
||||
ef->skip_sz += 2;
|
||||
node->vector.tokens[i + 1].str[node->vector.tokens[i + 1].sz] = '\0';
|
||||
#if !defined(AFL_MODE)
|
||||
ef->rout_fd = open(node->vector.tokens[i + 1].str, O_CREAT | O_WRONLY |
|
||||
(node->vector.tokens[i].type == T_APPEND ? O_APPEND : O_TRUNC), 0644);
|
||||
if (ef->rout_fd < 0)
|
||||
return (puterror(node->vector.tokens[i + 1].str), false);
|
||||
ef->out_fd = ef->rout_fd;
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -46,10 +48,12 @@ bool handle_in_redirect(ef_t *ef, ast_t *node, size_t i, size_t sz)
|
||||
ef->skip_i = ef->skip_i ?: i;
|
||||
ef->skip_sz += 2;
|
||||
node->vector.tokens[i + 1].str[node->vector.tokens[i + 1].sz] = '\0';
|
||||
#if !defined(AFL_MODE)
|
||||
ef->rin_fd = open(node->vector.tokens[i + 1].str, O_RDONLY);
|
||||
if (ef->rin_fd < 0)
|
||||
return (puterror(node->vector.tokens[i + 1].str), false);
|
||||
ef->in_fd = ef->rin_fd;
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user