about summary refs log tree commit diff
path: root/test/test-floatingpoint.c
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-07-25 16:39:36 +0200
committervan Hauser <vh@thc.org>2020-07-25 16:39:36 +0200
commit131df8bec9dc9dd7cf7a1c03d7189ba72580f6ab (patch)
treea2bb72225f7695b464c1f2ad32dbaa5334abfc64 /test/test-floatingpoint.c
parent79598083849b34bf33c4a6c904e69c2743151082 (diff)
downloadafl++-131df8bec9dc9dd7cf7a1c03d7189ba72580f6ab.tar.gz
try to fix travis
Diffstat (limited to 'test/test-floatingpoint.c')
-rw-r--r--test/test-floatingpoint.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/test/test-floatingpoint.c b/test/test-floatingpoint.c
index 8f691c2c..083f0df5 100644
--- a/test/test-floatingpoint.c
+++ b/test/test-floatingpoint.c
@@ -1,17 +1,23 @@
 #include <stdlib.h>
 #include <unistd.h>
+#include <limits.h>
+#include <stdint.h>
 
-int main(void) {
-
-  float magic;
+__AFL_FUZZ_INIT();
 
-  ssize_t bytes_read = read(STDIN_FILENO, &magic, sizeof(magic));
-  if (bytes_read < (ssize_t)sizeof(magic)) { return 1; }
-
-  if ((-magic == 15.0 + 0.5 + 0.125 + 0.03125 +
-                     0.0078125)) {         /* 15 + 1/2 + 1/8 + 1/32 + 1/128 */
-    abort();
+int main(void) {
 
+  ssize_t bytes_read;
+  
+  __AFL_INIT();
+  float *magic = (float*)__AFL_FUZZ_TESTCASE_BUF;
+  
+  while (__AFL_LOOP(INT_MAX)) {
+
+    if (__AFL_FUZZ_TESTCASE_LEN != sizeof(float)) return 1;
+    /* 15 + 1/2 + 1/8 + 1/32 + 1/128 */
+    if ((-*magic == 15.0 + 0.5 + 0.125 + 0.03125 + 0.0078125)) abort();
+  
   }
 
   return 0;