#include #include #define TINYEXR_IMPLEMENTATION #include "tinyexr.h" extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { EXRVersion exr_version; EXRImage exr_image; EXRHeader exr_header; int ret = ParseEXRVersionFromMemory(&exr_version, data, size); if (ret != TINYEXR_SUCCESS) { return 0; } InitEXRHeader(&exr_header); ret = ParseEXRHeaderFromMemory(&exr_header, &exr_version, data, size, NULL); if (ret != TINYEXR_SUCCESS) { FreeEXRHeader(&exr_header); return 0; } InitEXRImage(&exr_image); ret = LoadEXRImageFromMemory(&exr_image, &exr_header, data, size, NULL); if (ret != TINYEXR_SUCCESS) { FreeEXRHeader(&exr_header); FreeEXRImage(&exr_image); return 0; } FreeEXRHeader(&exr_header); FreeEXRImage(&exr_image); return 0; }