page number is out of range. (detected by valgrind)
- i_gsampf() (used to implement getsamples() for floating point samples)
was leaking memory. (detected by valgrind)
+- writing to a PNG file was leaking one memory block
+ (detected by valgrind)
=================================================================
undef_int
i_writepng_wiol(i_img *im, io_glue *ig) {
png_structp png_ptr;
- png_infop info_ptr;
+ png_infop info_ptr = NULL;
int width,height,y;
volatile int cspace,channels;
double xres, yres;
info_ptr = png_create_info_struct(png_ptr);
if (info_ptr == NULL) {
- png_destroy_write_struct(&png_ptr, (png_infopp)NULL);
+ png_destroy_write_struct(&png_ptr, &info_ptr);
return 0;
}
* error hadnling functions in the png_create_write_struct() call.
*/
if (setjmp(png_ptr->jmpbuf)) {
- png_destroy_write_struct(&png_ptr, (png_infopp)NULL);
+ png_destroy_write_struct(&png_ptr, &info_ptr);
return(0);
}
myfree(data);
}
else {
- png_destroy_write_struct(&png_ptr, (png_infopp)NULL);
+ png_destroy_write_struct(&png_ptr, info_ptr);
return 0;
}
}
png_write_end(png_ptr, info_ptr);
- png_destroy_write_struct(&png_ptr, (png_infopp)NULL);
+ png_destroy_write_struct(&png_ptr, &info_ptr);
ig->closecb(ig);