aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2022-04-08 22:44:10 +0200
committervanhauser-thc <vh@thc.org>2022-04-08 22:44:10 +0200
commite9288bcfad6e350b6f3e85d45a42bae5aea480c1 (patch)
tree23a4b94f81bc41dfae44bcd1598cd2b61ff17283 /src
parent891f4d3c8e58ed06b0131673f9c58606f5d99978 (diff)
downloadAFLplusplus-e9288bcfad6e350b6f3e85d45a42bae5aea480c1.tar.gz
add AFL_KEEP_TIMEOUTS
Diffstat (limited to 'src')
-rw-r--r--src/afl-fuzz-bitmap.c12
-rw-r--r--src/afl-fuzz-state.c7
2 files changed, 17 insertions, 2 deletions
diff --git a/src/afl-fuzz-bitmap.c b/src/afl-fuzz-bitmap.c
index 0f6f0778..7c2b35d6 100644
--- a/src/afl-fuzz-bitmap.c
+++ b/src/afl-fuzz-bitmap.c
@@ -664,8 +664,16 @@ save_if_interesting(afl_state_t *afl, void *mem, u32 len, u8 fault) {
if (afl->stop_soon || new_fault != FSRV_RUN_TMOUT) {
- ++afl->saved_tmouts;
- goto save_to_queue;
+ if (afl->afl_env.afl_keep_timeouts) {
+
+ ++afl->saved_tmouts;
+ goto save_to_queue;
+
+ } else {
+
+ return keeping;
+
+ }
}
diff --git a/src/afl-fuzz-state.c b/src/afl-fuzz-state.c
index 5924dd7b..47e39762 100644
--- a/src/afl-fuzz-state.c
+++ b/src/afl-fuzz-state.c
@@ -222,6 +222,13 @@ void read_afl_environment(afl_state_t *afl, char **envp) {
afl->afl_env.afl_hang_tmout =
(u8 *)get_afl_env(afl_environment_variables[i]);
+ } else if (!strncmp(env, "AFL_KEEP_TIMEOUTS",
+
+ afl_environment_variable_len)) {
+
+ afl->afl_env.afl_keep_timeouts =
+ get_afl_env(afl_environment_variables[i]) ? 1 : 0;
+
} else if (!strncmp(env, "AFL_SKIP_BIN_CHECK",
afl_environment_variable_len)) {