diff options
author | Arno <arno@disconnect.de> | 2024-06-17 23:47:28 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2024-06-17 23:51:47 +0200 |
commit | c7b0d2967acf2430aabfda4910e77f4cf4827f55 (patch) | |
tree | 997f14d81364a20e5eb7ad067229b0a2d7b3c6c8 /helper.cpp | |
parent | 0690a2ae537aa1c6058996116c5af8bac66fc4ee (diff) | |
download | SheMov-c7b0d2967acf2430aabfda4910e77f4cf4827f55.tar.gz SheMov-c7b0d2967acf2430aabfda4910e77f4cf4827f55.tar.bz2 SheMov-c7b0d2967acf2430aabfda4910e77f4cf4827f55.zip |
Fix crash when trying to read an invalid image
Helper::picSize assumed that all data passed to it is a valid image and
thus crashed with an exception. Wrap it into try - catch and return
QVariant() when the pic is invalid.
Diffstat (limited to 'helper.cpp')
-rw-r--r-- | helper.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -304,9 +304,13 @@ namespace Helper { QVariant picSize(const QString &path){ Magick::Image img; - img.ping(qPrintable(path)); - QString retval = QString("%1x%2").arg(QString::number(img.columns()), QString::number(img.rows())); - return retval; + try { + img.ping(qPrintable(path)); + QString retval = QString("%1x%2").arg(QString::number(img.columns()), QString::number(img.rows())); + return retval; + } catch(...) { + return QVariant(); + } } PicData convertArchivefileToPng(PicData data){ |