Clean up after longjmp in SkImageDecoder_libpng.
In onDecodeInit, if longjmp sends us back to setjmp, destroy the
png_struct and info_ptr before returning false. Since the
PNGAutoClean has not been created yet, we were previously
leaking resources.
R=djsollen@google.com
Review URL: https://codereview.chromium.org/68453006
git-svn-id: http://skia.googlecode.com/svn/trunk/src@12244 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/images/SkImageDecoder_libpng.cpp b/images/SkImageDecoder_libpng.cpp
index b51ffb9..02ba6af 100644
--- a/images/SkImageDecoder_libpng.cpp
+++ b/images/SkImageDecoder_libpng.cpp
@@ -255,6 +255,7 @@
* set up your own error handlers in the png_create_read_struct() earlier.
*/
if (setjmp(png_jmpbuf(png_ptr))) {
+ png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
return false;
}