https://bugs.kde.org/show_bug.cgi?id=361259

Igor Poboiko <igor.pobo...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
      Latest Commit|                            |https://commits.kde.org/kfi
                   |                            |lemetadata/5eee9ac75b7d6bb1
                   |                            |9795c2d3b964fe05fd8fc47c
             Status|REPORTED                    |RESOLVED

--- Comment #1 from Igor Poboiko <igor.pobo...@gmail.com> ---
Git commit 5eee9ac75b7d6bb19795c2d3b964fe05fd8fc47c by Igor Poboiko.
Committed on 16/10/2018 at 13:56.
Pushed by poboiko into branch 'master'.

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)
Related: bug 352856, bug 353848, bug 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

M  +3    -0    src/extractors/exiv2extractor.cpp

https://commits.kde.org/kfilemetadata/5eee9ac75b7d6bb19795c2d3b964fe05fd8fc47c

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to