Don't crash on invalid exiv2 data
Summary: The file from bug 375131 crashes `baloo_file_extractor`. The problem is that its EXIF data contains a key `Exif.Photo.FocalLength`, whose type is `Exiv2::unsignedRational`, and whose value is empty. On the other hand, the `Exiv2::Value::toFloat()` call relies on at least single component of a value, causing undefined behavior (i.e. crash) if there is none. This is simple workaround: if we got a property with no value, just return an empty QVariant(). (unfortunately, didn't manage to reproduce the hang reported in the bug originally) BUG: 352856 BUG: 353848 BUG: 361259 CCBUG: 375131 Test Plan: `baloo_file_extractor` no longer crashes on the file, it processes the file and extracts all the necessary data Reviewers: #baloo, #frameworks, astippich Reviewed By: astippich Subscribers: bruns, astippich, kde-frameworks-devel Tags: #frameworks, #baloo Differential Revision: https://phabricator.kde.org/D16165
parent
15adb113
Please register or sign in to comment