diff options
author | van Hauser <vh@thc.org> | 2022-11-10 14:46:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-10 14:46:01 +0100 |
commit | c24939e8122589f5f2e25822eca4bbd14ea1c425 (patch) | |
tree | 11e0a850756f6dd7f88eba74341b8be6ae225e10 /src | |
parent | b868758cd72f78f853aa92b74425d4bfb3a47254 (diff) | |
parent | c1562a7cdef10762e6ac712ecf5c51e035b72260 (diff) | |
download | afl++-c24939e8122589f5f2e25822eca4bbd14ea1c425.tar.gz |
Merge pull request #1576 from AFLplusplus/persistent_mode_always
Persistent mode always
Diffstat (limited to 'src')
-rw-r--r-- | src/afl-cc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/afl-cc.c b/src/afl-cc.c index c67d8a8f..1c3b5405 100644 --- a/src/afl-cc.c +++ b/src/afl-cc.c @@ -1166,6 +1166,7 @@ static void edit_params(u32 argc, char **argv, char **envp) { "({ static volatile char *_B __attribute__((used,unused)); " " _B = (char*)\"" PERSIST_SIG "\"; " + "extern int __afl_connected;" #ifdef __APPLE__ "__attribute__((visibility(\"default\"))) " "int _L(unsigned int) __asm__(\"___afl_persistent_loop\"); " @@ -1173,7 +1174,8 @@ static void edit_params(u32 argc, char **argv, char **envp) { "__attribute__((visibility(\"default\"))) " "int _L(unsigned int) __asm__(\"__afl_persistent_loop\"); " #endif /* ^__APPLE__ */ - "_L(_A); })"; + // if afl is connected, we run _A times, else once. + "_L(__afl_connected ? _A : 1); })"; cc_params[cc_par_cnt++] = "-D__AFL_INIT()=" |