1 #include <stdlib.h> 2 #include <unistd.h> 3 #include <limits.h> 4 #include <stdint.h> 5 6 __AFL_FUZZ_INIT(); 7 main(void)8int main(void) { 9 10 ssize_t bytes_read; 11 12 __AFL_INIT(); 13 float *magic = (float *)__AFL_FUZZ_TESTCASE_BUF; 14 15 while (__AFL_LOOP(INT_MAX)) { 16 17 int len = __AFL_FUZZ_TESTCASE_LEN; 18 if (len < sizeof(float)) return 1; 19 20 /* 15 + 1/2 = 15.5 */ 21 /* 15 + 1/2 + 1/8 = 15.625 */ 22 /* 15 + 1/2 + 1/8 + 1/32 = 15.65625 */ 23 /* 15 + 1/2 + 1/8 + 1/32 + 1/128 = 15.6640625 */ 24 if ((*magic >= 15.0 + 0.5 + 0.125 + 0.03125) && 25 (*magic <= 15.0 + 0.5 + 0.125 + 0.03125 + 0.0078125)) 26 abort(); 27 28 } 29 30 return 0; 31 32 } 33 34