From a54870aace5fe287d2b4a65dc16927ef2cd91509 Mon Sep 17 00:00:00 2001 From: Maksim Shabunin Date: Tue, 16 Feb 2016 11:37:27 +0300 Subject: [PATCH] Added filename emptyness check to the Exif reader, fixes 6120 --- modules/imgcodecs/src/grfmt_jpeg.cpp | 13 ++++++++----- modules/imgcodecs/src/jpeg_exif.cpp | 5 +++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/modules/imgcodecs/src/grfmt_jpeg.cpp b/modules/imgcodecs/src/grfmt_jpeg.cpp index 8a2900a19..093b88c40 100644 --- a/modules/imgcodecs/src/grfmt_jpeg.cpp +++ b/modules/imgcodecs/src/grfmt_jpeg.cpp @@ -267,13 +267,16 @@ int JpegDecoder::getOrientation() { int orientation = JPEG_ORIENTATION_TL; - ExifReader reader( m_filename ); - if( reader.parse() ) + if (m_filename.size() > 0) { - ExifEntry_t entry = reader.getTag( ORIENTATION ); - if (entry.tag != INVALID_TAG) + ExifReader reader( m_filename ); + if( reader.parse() ) { - orientation = entry.field_u16; //orientation is unsigned short, so check field_u16 + ExifEntry_t entry = reader.getTag( ORIENTATION ); + if (entry.tag != INVALID_TAG) + { + orientation = entry.field_u16; //orientation is unsigned short, so check field_u16 + } } } diff --git a/modules/imgcodecs/src/jpeg_exif.cpp b/modules/imgcodecs/src/jpeg_exif.cpp index ebc4f0535..61b27bbf9 100644 --- a/modules/imgcodecs/src/jpeg_exif.cpp +++ b/modules/imgcodecs/src/jpeg_exif.cpp @@ -128,6 +128,11 @@ std::map ExifReader::getExif() size_t count; + if (m_filename.size() == 0) + { + return m_exif; + } + FILE* f = fopen( m_filename.c_str(), "rb" ); if( !f )