diff --git a/src/canonmn_int.cpp b/src/canonmn_int.cpp index c72d6d35..046aca4a 100644 --- a/src/canonmn_int.cpp +++ b/src/canonmn_int.cpp @@ -1770,9 +1770,13 @@ namespace Exiv2 { { try { // 1140 - if( metadata->findKey(ExifKey("Exif.Image.Model" ))->value().toString() == "Canon EOS 30D" - && metadata->findKey(ExifKey("Exif.CanonCs.Lens" ))->value().toString() == "24 24 1" - && metadata->findKey(ExifKey("Exif.CanonCs.MaxAperture"))->value().toString() == "95" // F2.8 + const ExifData::const_iterator itModel = metadata->findKey(ExifKey("Exif.Image.Model")); + const ExifData::const_iterator itLens = metadata->findKey(ExifKey("Exif.CanonCs.Lens")); + const ExifData::const_iterator itApert = metadata->findKey(ExifKey("Exif.CanonCs.MaxAperture")); + + if( itModel != metadata->end() && itModel->value().toString() == "Canon EOS 30D" + && itLens != metadata->end() && itLens->value().toString() == "24 24 1" + && itApert != metadata->end() && itApert->value().toString() == "95" // F2.8 ){ return os << "Canon EF-S 24mm f/2.8 STM" ; }