diff options
Diffstat (limited to 'frida_mode/src/output.c')
-rw-r--r-- | frida_mode/src/output.c | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/frida_mode/src/output.c b/frida_mode/src/output.c index e2b744e7..8a222b25 100644 --- a/frida_mode/src/output.c +++ b/frida_mode/src/output.c @@ -2,17 +2,17 @@ #include <fcntl.h> #include <unistd.h> -#include "frida-gumjs.h" +#include "frida-gum.h" #include "debug.h" #include "output.h" -char *output_stdout = NULL; -char *output_stderr = NULL; +static int output_fd = -1; -static void output_redirect(int fd, char *filename) { +static void output_redirect(int fd, char *variable) { + char *filename = getenv(variable); char *path = NULL; if (filename == NULL) { return; } @@ -21,8 +21,8 @@ static void output_redirect(int fd, char *filename) { OKF("Redirect %d -> '%s'", fd, path); - int output_fd = open(path, O_RDWR | O_CREAT | O_TRUNC, - S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP); + output_fd = open(path, O_RDWR | O_CREAT | O_TRUNC, + S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP); g_free(path); @@ -34,24 +34,12 @@ static void output_redirect(int fd, char *filename) { } - close(output_fd); - -} - -void output_config(void) { - - output_stdout = getenv("AFL_FRIDA_OUTPUT_STDOUT"); - output_stderr = getenv("AFL_FRIDA_OUTPUT_STDERR"); - } void output_init(void) { - OKF("Output - StdOut: %s", output_stdout); - OKF("Output - StdErr: %s", output_stderr); - - output_redirect(STDOUT_FILENO, output_stdout); - output_redirect(STDERR_FILENO, output_stderr); + output_redirect(STDOUT_FILENO, "AFL_FRIDA_OUTPUT_STDOUT"); + output_redirect(STDERR_FILENO, "AFL_FRIDA_OUTPUT_STDERR"); } |