about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--include/afl-fuzz.h2
-rw-r--r--src/afl-fuzz-state.c13
-rw-r--r--src/afl-fuzz-statsd.c6
3 files changed, 16 insertions, 5 deletions
diff --git a/include/afl-fuzz.h b/include/afl-fuzz.h
index 75dfc4e5..d79920bd 100644
--- a/include/afl-fuzz.h
+++ b/include/afl-fuzz.h
@@ -359,7 +359,7 @@ typedef struct afl_env_vars {
 
   u8 *afl_tmpdir, *afl_custom_mutator_library, *afl_python_module, *afl_path,
       *afl_hang_tmout, *afl_forksrv_init_tmout, *afl_skip_crashes, *afl_preload,
-      *afl_max_det_extras;
+      *afl_max_det_extras, *afl_statsd_host, *afl_statsd_port;
 
 } afl_env_vars_t;
 
diff --git a/src/afl-fuzz-state.c b/src/afl-fuzz-state.c
index 4e817843..aefa226d 100644
--- a/src/afl-fuzz-state.c
+++ b/src/afl-fuzz-state.c
@@ -363,6 +363,19 @@ void read_afl_environment(afl_state_t *afl, char **envp) {
             afl->afl_env.afl_forksrv_init_tmout =
                 (u8 *)get_afl_env(afl_environment_variables[i]);
 
+          } else if (!strncmp(env, "AFL_STATSD_HOST",
+
+                              afl_environment_variable_len)) {
+
+            afl->afl_env.afl_statsd_host =
+                (u8 *)get_afl_env(afl_environment_variables[i]);
+          } else if (!strncmp(env, "AFL_STATSD_PORT",
+
+                              afl_environment_variable_len)) {
+
+            afl->afl_env.afl_statsd_port =
+                (u8 *)get_afl_env(afl_environment_variables[i]);
+
           }
 
         } else {
diff --git a/src/afl-fuzz-statsd.c b/src/afl-fuzz-statsd.c
index e94f090c..7ae2efca 100644
--- a/src/afl-fuzz-statsd.c
+++ b/src/afl-fuzz-statsd.c
@@ -60,10 +60,8 @@ int statsd_send_metric(afl_state_t *afl) {
   u16   port = STATSD_DEFAULT_PORT;
   char *host = STATSD_DEFAULT_HOST;
 
-  char *port_env;
-  char *host_env;
-  if ((port_env = getenv("AFL_STATSD_PORT")) != NULL) { port = atoi(port_env); }
-  if ((host_env = getenv("AFL_STATSD_HOST")) != NULL) { host = host_env; }
+  if (afl->afl_env.afl_statsd_port) { port = atoi(afl->afl_env.afl_statsd_port); }
+  if (afl->afl_env.afl_statsd_host) { host = afl->afl_env.afl_statsd_host; }
 
   /* statds_sock is a global variable. We set it once in the beginning and reuse
   the socket. If the sendto later fail, we reset it to 0 to be able to recreate