about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorDominik Maier <domenukk@gmail.com>2021-03-23 18:47:07 +0100
committerDominik Maier <domenukk@gmail.com>2021-03-23 18:47:07 +0100
commit5fcd634f05049564dde59df420ac1c2f291a2fb0 (patch)
tree47f1a5974882868e206252299e14f6b717c5c9b3 /src
parent28f1e94ab9fdac6886c4383d9f4722f26237a05a (diff)
downloadafl++-5fcd634f05049564dde59df420ac1c2f291a2fb0.tar.gz
fixed tiny nitpicks
Diffstat (limited to 'src')
-rw-r--r--src/afl-common.c22
-rw-r--r--src/afl-fuzz-state.c7
-rw-r--r--src/afl-fuzz.c4
3 files changed, 18 insertions, 15 deletions
diff --git a/src/afl-common.c b/src/afl-common.c
index 6e485117..cd24c376 100644
--- a/src/afl-common.c
+++ b/src/afl-common.c
@@ -618,19 +618,15 @@ char *get_afl_env(char *env) {
 
 }
 
-u8 extract_and_set_env(u8 *env_str) {
+bool extract_and_set_env(u8 *env_str) {
 
-  if (!env_str) { return 0; }
+  if (!env_str) { return false; }
 
-  u8 *p = ck_strdup(env_str);
+  bool ret = false;  // return false by default
 
+  u8 *p = ck_strdup(env_str);
   u8 *end = p + strlen((char *)p);
-
-  u8 ret_val = 0;  // return false by default
-
   u8 *rest = p;
-  u8 *key = p;
-  u8 *val = p;
 
   u8 closing_sym = ' ';
   u8 c;
@@ -647,7 +643,7 @@ u8 extract_and_set_env(u8 *env_str) {
 
     if (rest + 1 >= end) break;
 
-    key = rest;
+    u8 *key = rest;
     // env variable names may not start with numbers or '='
     if (*key == '=' || (*key >= '0' && *key <= '9')) { goto free_and_return; }
 
@@ -673,7 +669,7 @@ u8 extract_and_set_env(u8 *env_str) {
     rest += 1;
     if (rest >= end || *rest == ' ') { goto free_and_return; }
 
-    val = rest;
+    u8 *val = rest;
     if (*val == '\'' || *val == '"') {
 
       closing_sym = *val;
@@ -700,17 +696,17 @@ u8 extract_and_set_env(u8 *env_str) {
     rest += 1;
     if (rest < end && *rest != ' ') { goto free_and_return; }
 
-    num_pairs += 1;
+    num_pairs++;
 
     setenv(key, val, 1);
 
   }
 
-  if (num_pairs > 0) { ret_val = 1; }
+  if (num_pairs) { ret = true; }
 
 free_and_return:
   ck_free(p);
-  return ret_val;
+  return ret;
 
 }
 
diff --git a/src/afl-fuzz-state.c b/src/afl-fuzz-state.c
index 3d36e712..0ddf8cf3 100644
--- a/src/afl-fuzz-state.c
+++ b/src/afl-fuzz-state.c
@@ -433,6 +433,13 @@ void read_afl_environment(afl_state_t *afl, char **envp) {
             afl->afl_env.afl_kill_signal =
                 (u8 *)get_afl_env(afl_environment_variables[i]);
 
+          } else if (!strncmp(env, "AFL_TARGET_ENV",
+
+                              afl_environment_variable_len)) {
+
+            afl->afl_env.afl_target_env =
+                (u8 *)get_afl_env(afl_environment_variables[i]);
+
           }
 
         } else {
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index b1d01959..d70ffd31 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -1304,8 +1304,8 @@ int main(int argc, char **argv_orig, char **envp) {
 
   }
 
-  u8 *extra_env = (u8 *)getenv("AFL_TARGET_ENV");
-  if (extra_env && !extract_and_set_env(extra_env)) {
+  if (afl->afl_env.afl_target_env &&
+      !extract_and_set_env(afl->afl_env.afl_target_env)) {
 
     FATAL("Bad value of AFL_TARGET_ENV");