about summary refs log tree commit diff
path: root/afl-fuzz.c
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2019-06-23 18:37:02 +0200
committervan Hauser <vh@thc.org>2019-06-23 18:37:02 +0200
commit1cc69df0f4a0d3fc10d8b4789351ed831a2496e4 (patch)
treeb0de1548ec1387d1077da271f54be172646972e5 /afl-fuzz.c
parent2db576f52b9b849cca1ebffafa310ee27b150cd8 (diff)
downloadafl++-1cc69df0f4a0d3fc10d8b4789351ed831a2496e4.tar.gz
display power schedule in status screen
Diffstat (limited to 'afl-fuzz.c')
-rw-r--r--afl-fuzz.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/afl-fuzz.c b/afl-fuzz.c
index 4235bec5..6db99acf 100644
--- a/afl-fuzz.c
+++ b/afl-fuzz.c
@@ -86,6 +86,7 @@ EXP_ST u8 *in_dir,                    /* Input directory with test cases  */
           *tmp_dir       ,            /* Temporary directory for input    */
           *sync_dir,                  /* Synchronization directory        */
           *sync_id,                   /* Fuzzer ID                        */
+          *power_name,                /* Power schedule name              */
           *use_banner,                /* Display banner                   */
           *in_bitmap,                 /* Input bitmap                     */
           *doc_path,                  /* Path to documentation dir        */
@@ -114,6 +115,15 @@ enum {
   /* 05 */ EXPLOIT                    /* AFL's exploitation-based const.  */
 };
 
+char *power_names[] = {
+  "explore",
+  "fast",
+  "coe",
+  "lin",
+  "quad",
+  "exploit"
+};
+
 static u8 schedule = EXPLORE;         /* Power schedule (default: EXPLORE)*/
 
 EXP_ST u8  skip_deterministic,        /* Skip deterministic stages?       */
@@ -4271,13 +4281,13 @@ static void show_stats(void) {
 
   /* Let's start by drawing a centered banner. */
 
-  banner_len = (crash_mode ? 24 : 22) + strlen(VERSION) + strlen(use_banner);
+  banner_len = (crash_mode ? 24 : 22) + strlen(VERSION) + strlen(use_banner) + strlen(power_name) + 3;
   banner_pad = (79 - banner_len) / 2;
   memset(tmp, ' ', banner_pad);
 
   sprintf(tmp + banner_pad, "%s " cLCY VERSION cLGN
-          " (%s)",  crash_mode ? cPIN "peruvian were-rabbit" : 
-          cYEL "american fuzzy lop", use_banner);
+          " (%s) " cPIN "[%s]",  crash_mode ? cPIN "peruvian were-rabbit" : 
+          cYEL "american fuzzy lop", use_banner, power_name);
 
   SAYF("\n%s\n", tmp);
 
@@ -7546,10 +7556,10 @@ static void fix_up_banner(u8* name) {
 
   }
 
-  if (strlen(use_banner) > 40) {
+  if (strlen(use_banner) > 32) {
 
-    u8* tmp = ck_alloc(44);
-    sprintf(tmp, "%.40s...", use_banner);
+    u8* tmp = ck_alloc(36);
+    sprintf(tmp, "%.32s...", use_banner);
     use_banner = tmp;
 
   }
@@ -8354,10 +8364,8 @@ int main(int argc, char** argv) {
         } else {
           FATAL("Unknown -p power schedule");
         }
-
         break;
 
-
       case 'e':
 
         if (file_extension) FATAL("Multiple -e options not supported");
@@ -8544,6 +8552,8 @@ int main(int argc, char** argv) {
   setup_signal_handlers();
   check_asan_opts();
 
+  power_name = power_names[schedule];
+
   if (sync_id) fix_up_sync();
 
   if (!strcmp(in_dir, out_dir))