about summary refs log tree commit diff
path: root/src/afl-fuzz.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/afl-fuzz.c')
-rw-r--r--src/afl-fuzz.c28
1 files changed, 19 insertions, 9 deletions
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index c8cc7da6..d34b52db 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -2707,20 +2707,30 @@ int main(int argc, char **argv_orig, char **envp) {
 
       if (likely(!afl->old_seed_selection)) {
 
-        if (likely(afl->pending_favored)) {
+        if (likely(afl->pending_favored && afl->smallest_favored >= 0)) {
 
-          for (u32 iter = 0; iter < afl->queued_items; ++iter) {
+          afl->current_entry = afl->smallest_favored;
 
-            if (unlikely(afl->queue_buf[iter]->favored &&
-                !afl->queue_buf[iter]->was_fuzzed)) {
+          /*
 
-              afl->current_entry = iter;
-              afl->queue_cur = afl->queue_buf[afl->current_entry];
-              break;
+                    } else {
 
-            }
+                      for (s32 iter = afl->queued_items - 1; iter >= 0; --iter)
+             {
 
-          }
+                        if (unlikely(afl->queue_buf[iter]->favored &&
+                                     !afl->queue_buf[iter]->was_fuzzed)) {
+
+                          afl->current_entry = iter;
+                          break;
+
+                        }
+
+                      }
+
+          */
+
+          afl->queue_cur = afl->queue_buf[afl->current_entry];
 
         } else {