kimgio: check the peeked data size in magick plugin too

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2022-10-12 03:56:23 +03:00
parent bb4a2f2a73
commit fb1da281c6

View file

@ -229,7 +229,8 @@ bool MagickHandler::canRead(QIODevice *device, QByteArray *actualformat)
}
for (int i = 0; i < HeadersTblSize; i++) {
if (qstrncmp(data.constData(), reinterpret_cast<const char*>(HeadersTbl[i].header), HeadersTbl[i].headersize) == 0) {
if (data.size() >= HeadersTbl[i].headersize &&
qstrncmp(data.constData(), reinterpret_cast<const char*>(HeadersTbl[i].header), HeadersTbl[i].headersize) == 0) {
kDebug() << "Header detected" << HeadersTbl[i].format;
actualformat->append(HeadersTbl[i].format);
return true;