about summary refs log tree commit diff
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2021-06-24 09:59:00 +0200
committervanhauser-thc <vh@thc.org>2021-06-24 09:59:00 +0200
commit1fcb52957e59c89d6ad39ead753eefb4cf6683df (patch)
treeb245074c34fd3058af13375f77d8fbbb0f7a3457
parentec781af2c74c17ba3b6ce874a4fc26573872deb8 (diff)
downloadafl++-1fcb52957e59c89d6ad39ead753eefb4cf6683df.tar.gz
fix frida
-rw-r--r--frida_mode/src/cmplog/cmplog.c7
-rw-r--r--instrumentation/afl-compiler-rt.o.c11
-rw-r--r--instrumentation/split-compares-pass.so.cc10
-rw-r--r--test/test-int_cases.c95
-rw-r--r--test/test-uint_cases.c73
5 files changed, 114 insertions, 82 deletions
diff --git a/frida_mode/src/cmplog/cmplog.c b/frida_mode/src/cmplog/cmplog.c
index 0e3fbe53..8814f7f3 100644
--- a/frida_mode/src/cmplog/cmplog.c
+++ b/frida_mode/src/cmplog/cmplog.c
@@ -83,13 +83,6 @@ void cmplog_init(void) {
 
   }
 
-  /*
-   * We can't use /dev/null or /dev/zero for this since it appears that they
-   * don't validate the input buffer. Persumably as an optimization because they
-   * don't actually write any data. The file will be deleted on close.
-   */
-  fd_tmp = cmplog_create_temp();
-
 }
 
 static gboolean cmplog_contains(GumAddress inner_base, GumAddress inner_limit,
diff --git a/instrumentation/afl-compiler-rt.o.c b/instrumentation/afl-compiler-rt.o.c
index d4529e2c..3f518b55 100644
--- a/instrumentation/afl-compiler-rt.o.c
+++ b/instrumentation/afl-compiler-rt.o.c
@@ -627,7 +627,7 @@ static void __afl_unmap_shm(void) {
 
 #define write_error(text) write_error_with_location(text, __FILE__, __LINE__)
 
-void write_error_with_location(char *text, char* filename, int linenumber) {
+void write_error_with_location(char *text, char *filename, int linenumber) {
 
   u8 *  o = getenv("__AFL_OUT_DIR");
   char *e = strerror(errno);
@@ -640,14 +640,16 @@ void write_error_with_location(char *text, char* filename, int linenumber) {
 
     if (f) {
 
-      fprintf(f, "File %s, line %d: Error(%s): %s\n", filename, linenumber, text, e);
+      fprintf(f, "File %s, line %d: Error(%s): %s\n", filename, linenumber,
+              text, e);
       fclose(f);
 
     }
 
   }
 
-  fprintf(stderr, "File %s, line %d: Error(%s): %s\n", filename, linenumber, text, e);
+  fprintf(stderr, "File %s, line %d: Error(%s): %s\n", filename, linenumber,
+          text, e);
 
 }
 
@@ -1014,7 +1016,7 @@ static void __afl_start_forkserver(void) {
 
       if (read(FORKSRV_FD, &was_killed, 4) != 4) {
 
-        //write_error("read from afl-fuzz");
+        // write_error("read from afl-fuzz");
         _exit(1);
 
       }
@@ -2077,3 +2079,4 @@ void __afl_coverage_interesting(u8 val, u32 id) {
 }
 
 #undef write_error
+
diff --git a/instrumentation/split-compares-pass.so.cc b/instrumentation/split-compares-pass.so.cc
index 68f6c329..13f45b69 100644
--- a/instrumentation/split-compares-pass.so.cc
+++ b/instrumentation/split-compares-pass.so.cc
@@ -1397,11 +1397,13 @@ bool SplitComparesTransform::runOnModule(Module &M) {
   }
 
   bool brokenDebug = false;
-  if (verifyModule( M, &errs()
-#if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 9)
-    ,&brokenDebug		// 9th May 2016
+  if (verifyModule(M, &errs()
+#if LLVM_VERSION_MAJOR > 3 || \
+    (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 9)
+                          ,
+                   &brokenDebug  // 9th May 2016
 #endif
-    )) {
+                   )) {
 
     reportError(
         "Module Verifier failed! Consider reporting a bug with the AFL++ "
diff --git a/test/test-int_cases.c b/test/test-int_cases.c
index c76206c5..93848d21 100644
--- a/test/test-int_cases.c
+++ b/test/test-int_cases.c
@@ -13,7 +13,7 @@ int main() {
   volatile INT_TYPE a, b;
   /* different values */
   a = -21;
-  b = -2;                          /* signs equal */
+  b = -2;                                                    /* signs equal */
   assert((a < b));
   assert((a <= b));
   assert(!(a > b));
@@ -22,7 +22,7 @@ int main() {
   assert(!(a == b));
 
   a = 1;
-  b = 8;                           /* signs equal */
+  b = 8;                                                     /* signs equal */
   assert((a < b));
   assert((a <= b));
   assert(!(a > b));
@@ -30,10 +30,10 @@ int main() {
   assert((a != b));
   assert(!(a == b));
 
-  if ((unsigned)(INT_TYPE)(~0) > 255) { /* short or bigger */
+  if ((unsigned)(INT_TYPE)(~0) > 255) {                  /* short or bigger */
     volatile short a, b;
     a = 2;
-    b = 256+1;                            /* signs equal */
+    b = 256 + 1;                                             /* signs equal */
     assert((a < b));
     assert((a <= b));
     assert(!(a > b));
@@ -42,7 +42,7 @@ int main() {
     assert(!(a == b));
 
     a = -1 - 256;
-    b = -8;                          /* signs equal */
+    b = -8;                                                  /* signs equal */
     assert((a < b));
     assert((a <= b));
     assert(!(a > b));
@@ -50,10 +50,10 @@ int main() {
     assert((a != b));
     assert(!(a == b));
 
-    if ((unsigned)(INT_TYPE)(~0) > 65535) { /* int or bigger */
+    if ((unsigned)(INT_TYPE)(~0) > 65535) {                /* int or bigger */
       volatile int a, b;
       a = 2;
-      b = 65536+1;                            /* signs equal */
+      b = 65536 + 1;                                         /* signs equal */
       assert((a < b));
       assert((a <= b));
       assert(!(a > b));
@@ -62,7 +62,7 @@ int main() {
       assert(!(a == b));
 
       a = -1 - 65536;
-      b = -8;                          /* signs equal */
+      b = -8;                                                /* signs equal */
       assert((a < b));
       assert((a <= b));
       assert(!(a > b));
@@ -70,10 +70,10 @@ int main() {
       assert((a != b));
       assert(!(a == b));
 
-      if ((unsigned)(INT_TYPE)(~0) > 4294967295) { /* long or bigger */
+      if ((unsigned)(INT_TYPE)(~0) > 4294967295) {        /* long or bigger */
         volatile long a, b;
         a = 2;
-        b = 4294967296+1;                            /* signs equal */
+        b = 4294967296 + 1;                                  /* signs equal */
         assert((a < b));
         assert((a <= b));
         assert(!(a > b));
@@ -82,7 +82,7 @@ int main() {
         assert(!(a == b));
 
         a = -1 - 4294967296;
-        b = -8;                          /* signs equal */
+        b = -8;                                              /* signs equal */
         assert((a < b));
         assert((a <= b));
         assert(!(a > b));
@@ -91,11 +91,13 @@ int main() {
         assert(!(a == b));
 
       }
+
     }
+
   }
 
   a = -1;
-  b = 1;                         /* signs differ */
+  b = 1;                                                    /* signs differ */
   assert((a < b));
   assert((a <= b));
   assert(!(a > b));
@@ -104,7 +106,7 @@ int main() {
   assert(!(a == b));
 
   a = -1;
-  b = 0;                        /* signs differ */
+  b = 0;                                                    /* signs differ */
   assert((a < b));
   assert((a <= b));
   assert(!(a > b));
@@ -113,7 +115,7 @@ int main() {
   assert(!(a == b));
 
   a = -2;
-  b = 8;                           /* signs differ */
+  b = 8;                                                    /* signs differ */
   assert((a < b));
   assert((a <= b));
   assert(!(a > b));
@@ -122,7 +124,7 @@ int main() {
   assert(!(a == b));
 
   a = -1;
-  b = -2;                           /* signs equal */
+  b = -2;                                                    /* signs equal */
   assert((a > b));
   assert((a >= b));
   assert(!(a < b));
@@ -131,7 +133,7 @@ int main() {
   assert(!(a == b));
 
   a = 8;
-  b = 1;                           /* signs equal */
+  b = 1;                                                     /* signs equal */
   assert((a > b));
   assert((a >= b));
   assert(!(a < b));
@@ -140,9 +142,10 @@ int main() {
   assert(!(a == b));
 
   if ((unsigned)(INT_TYPE)(~0) > 255) {
+
     volatile short a, b;
     a = 1 + 256;
-    b = 3;                              /* signs equal */
+    b = 3;                                                   /* signs equal */
     assert((a > b));
     assert((a >= b));
     assert(!(a < b));
@@ -151,7 +154,7 @@ int main() {
     assert(!(a == b));
 
     a = -1;
-    b = -256;                            /* signs equal */
+    b = -256;                                                /* signs equal */
     assert((a > b));
     assert((a >= b));
     assert(!(a < b));
@@ -160,9 +163,10 @@ int main() {
     assert(!(a == b));
 
     if ((unsigned)(INT_TYPE)(~0) > 65535) {
+
       volatile int a, b;
       a = 1 + 65536;
-      b = 3;                              /* signs equal */
+      b = 3;                                                 /* signs equal */
       assert((a > b));
       assert((a >= b));
       assert(!(a < b));
@@ -171,7 +175,7 @@ int main() {
       assert(!(a == b));
 
       a = -1;
-      b = -65536;                            /* signs equal */
+      b = -65536;                                            /* signs equal */
       assert((a > b));
       assert((a >= b));
       assert(!(a < b));
@@ -180,30 +184,34 @@ int main() {
       assert(!(a == b));
 
       if ((unsigned)(INT_TYPE)(~0) > 4294967295) {
+
         volatile long a, b;
         a = 1 + 4294967296;
-        b = 3;                              /* signs equal */
+        b = 3;                                               /* signs equal */
         assert((a > b));
         assert((a >= b));
         assert(!(a < b));
         assert(!(a <= b));
         assert((a != b));
         assert(!(a == b));
- 
+
         a = -1;
-        b = -4294967296;                   /* signs equal */
+        b = -4294967296;                                     /* signs equal */
         assert((a > b));
         assert((a >= b));
         assert(!(a < b));
         assert(!(a <= b));
         assert((a != b));
         assert(!(a == b));
+
       }
+
     }
+
   }
 
   a = 1;
-  b = -1;                        /* signs differ */
+  b = -1;                                                   /* signs differ */
   assert((a > b));
   assert((a >= b));
   assert(!(a < b));
@@ -212,7 +220,7 @@ int main() {
   assert(!(a == b));
 
   a = 0;
-  b = -1;                       /* signs differ */
+  b = -1;                                                   /* signs differ */
   assert((a > b));
   assert((a >= b));
   assert(!(a < b));
@@ -221,7 +229,7 @@ int main() {
   assert(!(a == b));
 
   a = 8;
-  b = -2;                            /* signs differ */
+  b = -2;                                                   /* signs differ */
   assert((a > b));
   assert((a >= b));
   assert(!(a < b));
@@ -230,7 +238,7 @@ int main() {
   assert(!(a == b));
 
   a = 1;
-  b = -2;                           /* signs differ */
+  b = -2;                                                   /* signs differ */
   assert((a > b));
   assert((a >= b));
   assert(!(a < b));
@@ -239,9 +247,10 @@ int main() {
   assert(!(a == b));
 
   if ((unsigned)(INT_TYPE)(~0) > 255) {
+
     volatile short a, b;
     a = 1 + 256;
-    b = -2;                           /* signs differ */
+    b = -2;                                                 /* signs differ */
     assert((a > b));
     assert((a >= b));
     assert(!(a < b));
@@ -250,7 +259,7 @@ int main() {
     assert(!(a == b));
 
     a = -1;
-    b = -2 - 256;                     /* signs differ */
+    b = -2 - 256;                                           /* signs differ */
     assert((a > b));
     assert((a >= b));
     assert(!(a < b));
@@ -259,18 +268,19 @@ int main() {
     assert(!(a == b));
 
     if ((unsigned)(INT_TYPE)(~0) > 65535) {
+
       volatile int a, b;
       a = 1 + 65536;
-      b = -2;                           /* signs differ */
+      b = -2;                                               /* signs differ */
       assert((a > b));
       assert((a >= b));
       assert(!(a < b));
       assert(!(a <= b));
       assert((a != b));
       assert(!(a == b));
- 
+
       a = -1;
-      b = -2 - 65536;                  /* signs differ */
+      b = -2 - 65536;                                       /* signs differ */
       assert((a > b));
       assert((a >= b));
       assert(!(a < b));
@@ -279,18 +289,19 @@ int main() {
       assert(!(a == b));
 
       if ((unsigned)(INT_TYPE)(~0) > 4294967295) {
+
         volatile long a, b;
         a = 1 + 4294967296;
-        b = -2;                           /* signs differ */
+        b = -2;                                             /* signs differ */
         assert((a > b));
         assert((a >= b));
         assert(!(a < b));
         assert(!(a <= b));
         assert((a != b));
         assert(!(a == b));
-  
+
         a = -1;
-        b = -2 - 4294967296;              /* signs differ */
+        b = -2 - 4294967296;                                /* signs differ */
         assert((a > b));
         assert((a >= b));
         assert(!(a < b));
@@ -299,7 +310,9 @@ int main() {
         assert(!(a == b));
 
       }
+
     }
+
   }
 
   /* equal values */
@@ -358,6 +371,7 @@ int main() {
   assert((a == b));
 
   if ((unsigned)(INT_TYPE)(~0) > 255) {
+
     volatile short a, b;
     a = 1 + 256;
     b = 1 + 256;
@@ -378,6 +392,7 @@ int main() {
     assert((a == b));
 
     if ((unsigned)(INT_TYPE)(~0) > 65535) {
+
       volatile int a, b;
       a = 1 + 65536;
       b = 1 + 65536;
@@ -387,7 +402,7 @@ int main() {
       assert((a >= b));
       assert(!(a != b));
       assert((a == b));
- 
+
       a = -2 - 65536;
       b = -2 - 65536;
       assert(!(a < b));
@@ -398,6 +413,7 @@ int main() {
       assert((a == b));
 
       if ((unsigned)(INT_TYPE)(~0) > 4294967295) {
+
         volatile long a, b;
         a = 1 + 4294967296;
         b = 1 + 4294967296;
@@ -407,7 +423,7 @@ int main() {
         assert((a >= b));
         assert(!(a != b));
         assert((a == b));
-  
+
         a = -2 - 4294967296;
         b = -2 - 4294967296;
         assert(!(a < b));
@@ -416,9 +432,12 @@ int main() {
         assert((a >= b));
         assert(!(a != b));
         assert((a == b));
-  
+
       }
+
     }
+
   }
+
 }
 
diff --git a/test/test-uint_cases.c b/test/test-uint_cases.c
index a277e28a..bb57f408 100644
--- a/test/test-uint_cases.c
+++ b/test/test-uint_cases.c
@@ -22,9 +22,10 @@ int main() {
   assert(!(a == b));
 
   if ((INT_TYPE)(~0) > 255) {
+
     volatile unsigned short a, b;
-    a = 256+2;
-    b = 256+21;
+    a = 256 + 2;
+    b = 256 + 21;
     assert((a < b));
     assert((a <= b));
     assert(!(a > b));
@@ -33,7 +34,7 @@ int main() {
     assert(!(a == b));
 
     a = 21;
-    b = 256+1;
+    b = 256 + 1;
     assert((a < b));
     assert((a <= b));
     assert(!(a > b));
@@ -42,46 +43,51 @@ int main() {
     assert(!(a == b));
 
     if ((INT_TYPE)(~0) > 65535) {
+
       volatile unsigned int a, b;
-      a = 65536+2;
-      b = 65536+21;
+      a = 65536 + 2;
+      b = 65536 + 21;
       assert((a < b));
       assert((a <= b));
       assert(!(a > b));
       assert(!(a >= b));
       assert((a != b));
       assert(!(a == b));
- 
+
       a = 21;
-      b = 65536+1;
+      b = 65536 + 1;
       assert((a < b));
       assert((a <= b));
       assert(!(a > b));
       assert(!(a >= b));
       assert((a != b));
       assert(!(a == b));
+
     }
 
     if ((INT_TYPE)(~0) > 4294967295) {
+
       volatile unsigned long a, b;
-      a = 4294967296+2;
-      b = 4294967296+21;
+      a = 4294967296 + 2;
+      b = 4294967296 + 21;
       assert((a < b));
       assert((a <= b));
       assert(!(a > b));
       assert(!(a >= b));
       assert((a != b));
       assert(!(a == b));
- 
+
       a = 21;
-      b = 4294967296+1;
+      b = 4294967296 + 1;
       assert((a < b));
       assert((a <= b));
       assert(!(a > b));
       assert(!(a >= b));
       assert((a != b));
       assert(!(a == b));
+
     }
+
   }
 
   a = 8;
@@ -94,9 +100,10 @@ int main() {
   assert(!(a == b));
 
   if ((INT_TYPE)(~0) > 255) {
+
     volatile unsigned short a, b;
-    a = 256+2;
-    b = 256+1;
+    a = 256 + 2;
+    b = 256 + 1;
     assert((a > b));
     assert((a >= b));
     assert(!(a < b));
@@ -104,7 +111,7 @@ int main() {
     assert((a != b));
     assert(!(a == b));
 
-    a = 256+2;
+    a = 256 + 2;
     b = 6;
     assert((a > b));
     assert((a >= b));
@@ -114,17 +121,18 @@ int main() {
     assert(!(a == b));
 
     if ((INT_TYPE)(~0) > 65535) {
+
       volatile unsigned int a, b;
-      a = 65536+2;
-      b = 65536+1;
+      a = 65536 + 2;
+      b = 65536 + 1;
       assert((a > b));
       assert((a >= b));
       assert(!(a < b));
       assert(!(a <= b));
       assert((a != b));
       assert(!(a == b));
- 
-      a = 65536+2;
+
+      a = 65536 + 2;
       b = 6;
       assert((a > b));
       assert((a >= b));
@@ -134,17 +142,18 @@ int main() {
       assert(!(a == b));
 
       if ((INT_TYPE)(~0) > 4294967295) {
+
         volatile unsigned long a, b;
-        a = 4294967296+2;
-        b = 4294967296+1;
+        a = 4294967296 + 2;
+        b = 4294967296 + 1;
         assert((a > b));
         assert((a >= b));
         assert(!(a < b));
         assert(!(a <= b));
         assert((a != b));
         assert(!(a == b));
-  
-        a = 4294967296+2;
+
+        a = 4294967296 + 2;
         b = 6;
         assert((a > b));
         assert((a >= b));
@@ -154,9 +163,10 @@ int main() {
         assert(!(a == b));
 
       }
+
     }
-  }
 
+  }
 
   a = 0;
   b = 0;
@@ -177,9 +187,10 @@ int main() {
   assert((a == b));
 
   if ((INT_TYPE)(~0) > 255) {
+
     volatile unsigned short a, b;
-    a = 256+5;
-    b = 256+5;
+    a = 256 + 5;
+    b = 256 + 5;
     assert(!(a < b));
     assert((a <= b));
     assert(!(a > b));
@@ -188,9 +199,10 @@ int main() {
     assert((a == b));
 
     if ((INT_TYPE)(~0) > 65535) {
+
       volatile unsigned int a, b;
-      a = 65536+5;
-      b = 65536+5;
+      a = 65536 + 5;
+      b = 65536 + 5;
       assert(!(a < b));
       assert((a <= b));
       assert(!(a > b));
@@ -199,16 +211,19 @@ int main() {
       assert((a == b));
 
       if ((INT_TYPE)(~0) > 4294967295) {
+
         volatile unsigned long a, b;
-        a = 4294967296+5;
-        b = 4294967296+5;
+        a = 4294967296 + 5;
+        b = 4294967296 + 5;
         assert(!(a < b));
         assert((a <= b));
         assert(!(a > b));
         assert((a >= b));
         assert(!(a != b));
         assert((a == b));
+
       }
+
     }
 
   }