about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorhexcoder- <heiko@hexco.de>2020-04-09 18:11:39 +0000
committerhexcoder- <heiko@hexco.de>2020-04-09 18:11:39 +0000
commitfbf5e08425abcb0db2866067c4ede8134b8f9e98 (patch)
treee58e8941895961a74e7c9feafa5a95d5a9bec331 /src
parentdf5c2647544f17a17f0eac78072cf0ebafa0ba7c (diff)
downloadafl++-fbf5e08425abcb0db2866067c4ede8134b8f9e98.tar.gz
merge PR#306 from neoni (thanks), silence test when bash is not found
Diffstat (limited to 'src')
-rw-r--r--src/afl-fuzz-init.c13
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)