#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 |