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