code = bmp_decode(&bmp);
- if (code != BMP_OK) {
+ if ((code != BMP_OK) || (bmp.bitmap == NULL)) {
__print_error("bmp_decode", code);
/* allow partially decoded images */
if (code != BMP_INSUFFICIENT_DATA) {
static void __user_warning_fn(png_structp png_ptr, png_const_charp warning_msg)
{
- mm_util_error("%s", warning_msg);
+ mm_util_warn("%s", warning_msg);
}
static void __read_data_fn(png_structp png_ptr, png_bytep data, png_size_t size)
png_read_image(png_ptr, row_pointers);
+ mm_util_sec_debug("Decoding with libpng is done!");
+
decoded->data = (void *)png_malloc(png_ptr, sizeof(png_bytep) * data_size);
if (decoded->data == NULL) {
mm_util_error("out of memory");
png_free(png_ptr, row_pointers[row_index]);
}
+ mm_util_sec_debug("The decoded data has been copied from png_ptr to out-buffer!");
+
png_read_end(png_ptr, info_ptr);
png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);