According to relicensecheck Brad is OK with changing LGPLv2 to LGPLv2+,
which is required to be compatible with the LGPL-2.1-or-later licensed
source files.
Since QImage does sanity checking for overflows and stuff wrt.
dimensions and depth, check for QImage::isNull() as early as possible to
see if there's some funky business going on.
Also tried to add some checks wherever we wrote to "raw" memory.
Unit tests pass, and tested converting some files from
https://samples.ffmpeg.org/image-samples/ to pngs, and that seemed to
work.
Reviewed By: aacid
Differential Revision: https://phabricator.kde.org/D24367
Summary:
As one can see in SGIImage::readImage the accepted images are
_stream >> u16;
if (u16 != 0x01da) {
return false;
}
_stream >> _rle;
if (_rle > 1) {
return false;
}
so not only \x01\xda\x01 but also \x01\xda\x00
Reviewers: svuorela
Reviewed By: svuorela
Subscribers: svuorela, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20145
Summary:
The code is even simpler this way.
Found by using heaptrack.
Test Plan: the unittest for rgb still passes.
Reviewers: cfeck
Reviewed By: cfeck
Subscribers: jtamate, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D15890
The change to QLatin1String to QStringLiteral had a very nasty
unintended side effect, causing many (but not all) applications to
crash on exit.
Laurent, please be wary with blanket changes on low level code as
they might break things in unexpected ways.
CCMAIL: montel@kde.org
CCMAIL: tittiatcoke@gmail.com
Frameworks have a convention of naming uninstalled headers in src/ with
a _p at the end of the name, to make it clear they are not part of the
API. None of the headers in KImageFormats are installed, so it is not
really necessary to follow this convention, but we follow it anyway for
the benefit of both humans and tools (like kapidox).