diff options
author | Dominik Maier <domenukk@gmail.com> | 2020-04-10 14:34:24 +0200 |
---|---|---|
committer | Dominik Maier <domenukk@gmail.com> | 2020-04-10 14:34:24 +0200 |
commit | e51b4700e2cddea8d46375e1cf7c5937aa253972 (patch) | |
tree | aa62f65fe0203ae3f427ef1758c8eb85f76a2a5c /src/afl-fuzz-init.c | |
parent | 0b9f7c4c895c9db6195deee3e48aa21e6bb7f5ab (diff) | |
parent | ac2f0c9896f507ddbd92cdcfbcc9615b6cf12b36 (diff) | |
download | afl++-e51b4700e2cddea8d46375e1cf7c5937aa253972.tar.gz |
Merge branch 'dev' of github.com:aflplusplus/aflplusplus into dev
Diffstat (limited to 'src/afl-fuzz-init.c')
-rw-r--r-- | src/afl-fuzz-init.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/afl-fuzz-init.c b/src/afl-fuzz-init.c index efdde463..ce30e599 100644 --- a/src/afl-fuzz-init.c +++ b/src/afl-fuzz-init.c @@ -134,8 +134,17 @@ void bind_to_free_cpu(afl_state_t *afl) { for (i = 0; i < proccount; i++) { #if defined(__FreeBSD__) - if (procs[i].ki_oncpu < sizeof(cpu_used) && procs[i].ki_pctcpu > 60) - cpu_used[procs[i].ki_oncpu] = 1; + if (!strcmp(procs[i].ki_comm, "idle")) + continue; + + // fix when ki_oncpu = -1 + int oncpu; + oncpu = procs[i].ki_oncpu; + if (oncpu == -1) + oncpu = procs[i].ki_lastcpu; + + if (oncpu != -1 && oncpu < sizeof(cpu_used) && procs[i].ki_pctcpu > 60) + cpu_used[oncpu] = 1; #elif defined(__DragonFly__) if (procs[i].kp_lwp.kl_cpuid < sizeof(cpu_used) && procs[i].kp_lwp.kl_pctcpu > 10) |