}
if (setjmp(png_jmpbuf(png_ptr))) {
TRACE_ERROR("Error during init_io");
- png_destroy_write_struct(&png_ptr, (png_infopp)0);
+ png_destroy_write_struct(&png_ptr, &info_ptr);
return -1;
}
png_voidp png_buffer = calloc(width * height, sizeof(png_bytep));
png_infop info_ptr = png_create_info_struct(png_ptr);
if (info_ptr == NULL) {
TRACE_ERROR("png_create_info_struct failed");
- png_destroy_read_struct(&png_ptr, (png_infopp)0, (png_infopp)0);
+ png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
return -1;
}
if (setjmp(png_jmpbuf(png_ptr))) {
TRACE_ERROR("Error during init_io");
- png_destroy_read_struct(&png_ptr, (png_infopp)0, (png_infopp)0);
+ png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
return -1;
}