Add finding from oss-fuzz to tst_qicns
Pick-to: 6.3 6.2 5.15 Task-number: QTBUG-103454 Change-Id: I86bf891e67bcd483ed0b551190244b94677d1751 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
This commit is contained in:
parent
ac07c65ff5
commit
a678f3df9d
|
@ -1,6 +1,6 @@
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2016 The Qt Company Ltd.
|
** Copyright (C) 2022 The Qt Company Ltd.
|
||||||
** Copyright (C) 2016 Alex Char.
|
** Copyright (C) 2016 Alex Char.
|
||||||
** Contact: https://www.qt.io/licensing/
|
** Contact: https://www.qt.io/licensing/
|
||||||
**
|
**
|
||||||
|
@ -40,6 +40,8 @@ private slots:
|
||||||
void readIcons();
|
void readIcons();
|
||||||
void writeIcons_data();
|
void writeIcons_data();
|
||||||
void writeIcons();
|
void writeIcons();
|
||||||
|
void ossFuzz_data();
|
||||||
|
void ossFuzz();
|
||||||
};
|
};
|
||||||
|
|
||||||
void tst_qicns::initTestCase()
|
void tst_qicns::initTestCase()
|
||||||
|
@ -123,5 +125,25 @@ void tst_qicns::writeIcons()
|
||||||
QVERIFY(image == QImage(distPath));
|
QVERIFY(image == QImage(distPath));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_qicns::ossFuzz_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<QByteArray>("data");
|
||||||
|
QTest::addColumn<QByteArrayList>("ignoredMessages");
|
||||||
|
QTest::newRow("47415") << QByteArray::fromRawData("icns\0\0\0\0", 8)
|
||||||
|
<< QByteArrayList({"QICNSHandler::scanDevice(): Failed, bad header at "
|
||||||
|
"pos 8. OSType \"icns\", length 0",
|
||||||
|
"QICNSHandler::read(): The device wasn't parsed "
|
||||||
|
"properly!"});
|
||||||
|
}
|
||||||
|
|
||||||
|
void tst_qicns::ossFuzz()
|
||||||
|
{
|
||||||
|
QFETCH(QByteArray, data);
|
||||||
|
QFETCH(QByteArrayList, ignoredMessages);
|
||||||
|
for (auto msg: ignoredMessages)
|
||||||
|
QTest::ignoreMessage(QtWarningMsg, msg.data());
|
||||||
|
QImage().loadFromData(data);
|
||||||
|
}
|
||||||
|
|
||||||
QTEST_MAIN(tst_qicns)
|
QTEST_MAIN(tst_qicns)
|
||||||
#include "tst_qicns.moc"
|
#include "tst_qicns.moc"
|
||||||
|
|
Loading…
Reference in New Issue