[libpng16] Cosmetic changes to contrib/oss-fuzz/libpng_read_fuzzer.cc

This commit is contained in:
Glenn Randers-Pehrson 2017-08-30 13:11:16 -05:00
parent 5c27e93f51
commit 47aa798127

View File

@ -74,32 +74,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
return 0; return 0;
} }
png_handler.info_ptr = png_create_info_struct(png_handler.png_ptr);
if (!png_handler.info_ptr) {
png_destroy_read_struct(&png_handler.png_ptr, nullptr, nullptr);
return 0;
}
png_handler.end_info_ptr = png_create_info_struct(png_handler.png_ptr);
if (!png_handler.info_ptr) {
png_destroy_read_struct(&png_handler.png_ptr, &png_handler.info_ptr,
nullptr);
return 0;
}
png_handler.row_ptr = nullptr; png_handler.row_ptr = nullptr;
png_handler.info_ptr = nullptr;
png_set_crc_action(png_handler.png_ptr, PNG_CRC_QUIET_USE, PNG_CRC_QUIET_USE); png_handler.end_info_ptr = nullptr;
#ifdef PNG_IGNORE_ADLER32
png_set_option(png_handler.png_ptr, PNG_IGNORE_ADLER32, PNG_OPTION_ON);
#endif
// Setting up reading from buffer.
png_handler.buf_state = new BufState();
png_handler.buf_state->data = data + kPngHeaderSize;
png_handler.buf_state->bytes_left = size - kPngHeaderSize;
png_set_read_fn(png_handler.png_ptr, png_handler.buf_state, user_read_data);
png_set_sig_bytes(png_handler.png_ptr, kPngHeaderSize);
#define PNG_CLEANUP #define PNG_CLEANUP
if(png_handler.png_ptr) \ if(png_handler.png_ptr) \
@ -116,6 +93,31 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
png_destroy_read_struct(&png_handler.png_ptr, nullptr, nullptr); \ png_destroy_read_struct(&png_handler.png_ptr, nullptr, nullptr); \
} }
png_handler.info_ptr = png_create_info_struct(png_handler.png_ptr);
if (!png_handler.info_ptr) {
PNG_CLEANUP
return 0;
}
png_handler.end_info_ptr = png_create_info_struct(png_handler.png_ptr);
if (!png_handler.end_info_ptr) {
PNG_CLEANUP
return 0;
}
png_set_crc_action(png_handler.png_ptr, PNG_CRC_QUIET_USE, PNG_CRC_QUIET_USE);
#ifdef PNG_IGNORE_ADLER32
png_set_option(png_handler.png_ptr, PNG_IGNORE_ADLER32, PNG_OPTION_ON);
#endif
// Setting up reading from buffer.
png_handler.buf_state = new BufState();
png_handler.buf_state->data = data + kPngHeaderSize;
png_handler.buf_state->bytes_left = size - kPngHeaderSize;
png_set_read_fn(png_handler.png_ptr, png_handler.buf_state, user_read_data);
png_set_sig_bytes(png_handler.png_ptr, kPngHeaderSize);
if (setjmp(png_jmpbuf(png_handler.png_ptr))) { if (setjmp(png_jmpbuf(png_handler.png_ptr))) {
PNG_CLEANUP PNG_CLEANUP
return 0; return 0;