diff options
author | Sergej Schumilo <sergej@schumilo.de> | 2024-09-14 03:51:20 +0200 |
---|---|---|
committer | Sergej Schumilo <sergej@schumilo.de> | 2024-09-14 03:51:20 +0200 |
commit | 1d6cd5dd199e0c745aaca05b465286bf63d5ebc2 (patch) | |
tree | c49d1b5d225bee73faa7c3d8ebbc97386c4da898 /src/afl-fuzz.c | |
parent | 7e9abf1bba84e74280168a095bd2a6c5405d1a72 (diff) | |
download | afl++-1d6cd5dd199e0c745aaca05b465286bf63d5ebc2.tar.gz |
fix AFL_AUTORESUME=1 for Nyx mode
Diffstat (limited to 'src/afl-fuzz.c')
-rw-r--r-- | src/afl-fuzz.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c index 5ab8d7e9..a2fd4b76 100644 --- a/src/afl-fuzz.c +++ b/src/afl-fuzz.c @@ -2225,9 +2225,24 @@ int main(int argc, char **argv_orig, char **envp) { if (afl->in_place_resume && !afl->afl_env.afl_no_fastresume) { +#ifdef __linux__ + u64 target_hash = 0; + if (afl->fsrv.nyx_mode) { + nyx_load_target_hash(&afl->fsrv); + target_hash = afl->fsrv.nyx_target_hash64; + } + else { + target_hash = get_binary_hash(afl->fsrv.target_path); + } +#else u64 target_hash = get_binary_hash(afl->fsrv.target_path); +#endif - if (!target_hash || prev_target_hash != target_hash) { + if ((!target_hash || prev_target_hash != target_hash) +#ifdef __linux__ + || (afl->fsrv.nyx_mode && target_hash == 0) +#endif + ) { ACTF("Target binary is different, cannot perform FAST RESUME!"); |