diff options
author | tsdgeos <aacid@kde.org> | 2019-04-17 00:40:48 +0200 |
---|---|---|
committer | Max Moroz <dor3s1@gmail.com> | 2019-04-16 15:40:48 -0700 |
commit | 0221e8b0307c3f069e248082ef99ae2d6fa5a7cb (patch) | |
tree | f159857fee704ee30ccb81aacaaefe0108122649 /projects/kimageformats/kimgio_fuzzer.cc | |
parent | 53c09d30f60f4b65eaab9d622f3f47938aa7bd4a (diff) | |
download | oss-fuzz-0221e8b0307c3f069e248082ef99ae2d6fa5a7cb.tar.gz |
[kimageformats] Split fuzzer into 9 fuzzers (#2327)
oss-fuzz devels say this is optimal
Diffstat (limited to 'projects/kimageformats/kimgio_fuzzer.cc')
-rw-r--r-- | projects/kimageformats/kimgio_fuzzer.cc | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/projects/kimageformats/kimgio_fuzzer.cc b/projects/kimageformats/kimgio_fuzzer.cc index ca74dc1a3..7a17076c8 100644 --- a/projects/kimageformats/kimgio_fuzzer.cc +++ b/projects/kimageformats/kimgio_fuzzer.cc @@ -20,7 +20,7 @@ Usage: python infra/helper.py build_image kimageformats python infra/helper.py build_fuzzers --sanitizer undefined|address|memory kimageformats - python infra/helper.py run_fuzzer kimageformats kimgio_fuzzer + python infra/helper.py run_fuzzer kimageformats kimgio_[kra|ora|pcx|pic|psd|ras|rgb|tga|xcf]_fuzzer */ @@ -43,28 +43,17 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) int argc = 0; QCoreApplication a(argc, nullptr); - const QVector<QImageIOHandler*> handlers = { - new KraHandler(), - new OraHandler(), - new PCXHandler(), - new SoftimagePICHandler(), - new PSDHandler(), - new RASHandler(), - new RGBHandler(), - new TGAHandler(), - new XCFHandler() - }; + QImageIOHandler* handler = new HANDLER(); - for (QImageIOHandler *h : handlers) { - QImage i; - QBuffer b; - b.setData((const char *)data, size); - b.open(QIODevice::ReadOnly); - h->setDevice(&b); - h->canRead(); - h->read(&i); - } - qDeleteAll(handlers); + QImage i; + QBuffer b; + b.setData((const char *)data, size); + b.open(QIODevice::ReadOnly); + handler->setDevice(&b); + handler->canRead(); + handler->read(&i); + + delete handler; return 0; } |