ora:kra: qstrcmp -> memcmp

i..e don't check strings but memory

Makes oss-fuzz happier.

Reviewers: svuorela

Reviewed By: svuorela

Subscribers: apol, pino, security-team, rempt, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D20143
This commit is contained in:
Albert Astals Cid 2019-03-31 21:31:51 +02:00
parent a24ece396a
commit fd4fb6f596
2 changed files with 8 additions and 2 deletions

View File

@ -18,6 +18,9 @@
#include <QIODevice>
#include <QFile>
static constexpr char s_magic[] = "application/x-krita";
static constexpr int s_magic_size = strlen(s_magic);
KraHandler::KraHandler()
{
}
@ -55,7 +58,7 @@ bool KraHandler::canRead(QIODevice *device)
char buff[57];
if (device->peek(buff, sizeof(buff)) == sizeof(buff))
return qstrcmp(buff + 0x26, "application/x-krita") == 0;
return memcmp(buff + 0x26, s_magic, s_magic_size) == 0;
return false;
}

View File

@ -17,6 +17,9 @@
#include <kzip.h>
static constexpr char s_magic[] = "image/openraster";
static constexpr int s_magic_size = strlen(s_magic);
OraHandler::OraHandler()
{
}
@ -54,7 +57,7 @@ bool OraHandler::canRead(QIODevice *device)
char buff[54];
if (device->peek(buff, sizeof(buff)) == sizeof(buff))
return qstrcmp(buff + 0x26, "image/openraster") == 0;
return memcmp(buff + 0x26, s_magic, s_magic_size) == 0;
return false;
}