1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
#include <stdint.h>
#include <stddef.h>
#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;
}
|