| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #define STB_IMAGE_IMPLEMENTATION | |
| #include "../stb_image.h" | |
| int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) | |
| { | |
| int x, y, channels; | |
| if(!stbi_info_from_memory(data, size, &x, &y, &channels)) return 0; | |
| /* exit if the image is larger than ~80MB */ | |
| if(y && x > (80000000 / 4) / y) return 0; | |
| unsigned char *img = stbi_load_from_memory(data, size, &x, &y, &channels, 4); | |
| free(img); | |
| return 0; | |
| } | |
| #ifdef __cplusplus | |
| } | |
| #endif |