< prev index next >

src/java.desktop/share/native/libsplashscreen/splashscreen_png.c

Print this page

        

*** 46,57 **** SplashDecodePng(Splash * splash, png_rw_ptr read_func, void *io_ptr) { int stride; ImageFormat srcFormat; png_uint_32 i, rowbytes; ! png_bytepp row_pointers = NULL; ! png_bytep image_data = NULL; int success = 0; double gamma; png_structp png_ptr = NULL; png_infop info_ptr = NULL; --- 46,57 ---- SplashDecodePng(Splash * splash, png_rw_ptr read_func, void *io_ptr) { int stride; ImageFormat srcFormat; png_uint_32 i, rowbytes; ! png_bytepp row_pointers; ! png_bytep image_data; int success = 0; double gamma; png_structp png_ptr = NULL; png_infop info_ptr = NULL;
*** 61,87 **** --- 61,96 ---- ImageRect srcRect, dstRect; png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); if (!png_ptr) { + row_pointers = NULL; + image_data = NULL; goto done; } info_ptr = png_create_info_struct(png_ptr); if (!info_ptr) { + row_pointers = NULL; + image_data = NULL; goto done; } #ifdef __APPLE__ /* use setjmp/longjmp versions that do not save/restore the signal mask */ if (_setjmp(png_set_longjmp_fn(png_ptr, _longjmp, sizeof(jmp_buf)))) { #else if (setjmp(png_jmpbuf(png_ptr))) { #endif + row_pointers = NULL; + image_data = NULL; goto done; } + row_pointers = NULL; + image_data = NULL; + png_set_read_fn(png_ptr, io_ptr, read_func); png_set_sig_bytes(png_ptr, SIG_BYTES); /* we already read the 8 signature bytes */ png_read_info(png_ptr, info_ptr); /* read all PNG info up to image data */
< prev index next >