| #include <stdlib.h> |
| #include <unistd.h> |
| #include <limits.h> |
| #include <stdint.h> |
| |
| __AFL_FUZZ_INIT(); |
| |
| int main(void) { |
| |
| ssize_t bytes_read; |
| |
| __AFL_INIT(); |
| float *magic = (float *)__AFL_FUZZ_TESTCASE_BUF; |
| |
| while (__AFL_LOOP(INT_MAX)) { |
| |
| int len = __AFL_FUZZ_TESTCASE_LEN; |
| if (len != sizeof(float)) return 1; |
| |
| /* 15 + 1/2 = 15.5 */ |
| /* 15 + 1/2 + 1/8 = 15.625 */ |
| /* 15 + 1/2 + 1/8 + 1/32 = 15.65625 */ |
| /* 15 + 1/2 + 1/8 + 1/32 + 1/128 = 15.6640625 */ |
| if ((-*magic == 15.0 + 0.5 + 0.125 + 0.03125 + 0.0078125)) abort(); |
| |
| } |
| |
| return 0; |
| |
| } |
| |