about summary refs log tree commit diff
path: root/frida_mode/src/output.c
diff options
context:
space:
mode:
Diffstat (limited to 'frida_mode/src/output.c')
-rw-r--r--frida_mode/src/output.c28
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");
 
 }