From 4f6c493b87cb4b40249643fd71c30be65d3d2a66 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Wed, 27 Dec 2017 18:24:43 +0000 Subject: [PATCH] imgcodecs(png): resolve ASAN issue with vars scope and setjmp() call --- modules/imgcodecs/src/grfmt_png.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/imgcodecs/src/grfmt_png.cpp b/modules/imgcodecs/src/grfmt_png.cpp index abaf6118b7..06df9858ad 100644 --- a/modules/imgcodecs/src/grfmt_png.cpp +++ b/modules/imgcodecs/src/grfmt_png.cpp @@ -228,12 +228,12 @@ bool PngDecoder::readData( Mat& img ) uchar** buffer = _buffer; int color = img.channels() > 1; + png_structp png_ptr = (png_structp)m_png_ptr; + png_infop info_ptr = (png_infop)m_info_ptr; + png_infop end_info = (png_infop)m_end_info; + if( m_png_ptr && m_info_ptr && m_end_info && m_width && m_height ) { - png_structp png_ptr = (png_structp)m_png_ptr; - png_infop info_ptr = (png_infop)m_info_ptr; - png_infop end_info = (png_infop)m_end_info; - if( setjmp( png_jmpbuf ( png_ptr ) ) == 0 ) { int y;