diff options
Diffstat (limited to 'tests/libfuzzer/gui/painting/qcolorspace')
3 files changed, 43 insertions, 6 deletions
diff --git a/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/CMakeLists.txt b/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/CMakeLists.txt new file mode 100644 index 0000000000..ec52626e2d --- /dev/null +++ b/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/CMakeLists.txt @@ -0,0 +1,30 @@ +# Generated from fromiccprofile.pro. + +##################################################################### +## fromiccprofile Binary: +##################################################################### + +qt_add_executable(fromiccprofile + GUI + SOURCES + main.cpp + PUBLIC_LIBRARIES + Qt::Gui +) + +#### Keys ignored in scope 1:.:.:fromiccprofile.pro:<TRUE>: +# FUZZ_ENGINE = "$$(LIB_FUZZING_ENGINE)" +# QTPLUGIN = "qminimal" + +## Scopes: +##################################################################### + +qt_extend_target(fromiccprofile CONDITION FUZZ_ENGINE_ISEMPTY + LINK_OPTIONS + "-fsanitize=fuzzer" +) + +qt_extend_target(fromiccprofile CONDITION NOT FUZZ_ENGINE_ISEMPTY + PUBLIC_LIBRARIES + $ENV{LIB_FUZZING_ENGINE} +) diff --git a/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/fromiccprofile.pro b/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/fromiccprofile.pro index 934ff81077..bed2198e0d 100644 --- a/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/fromiccprofile.pro +++ b/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/fromiccprofile.pro @@ -1,4 +1,5 @@ QT += gui +QTPLUGIN *= qminimal SOURCES += main.cpp FUZZ_ENGINE = $$(LIB_FUZZING_ENGINE) isEmpty(FUZZ_ENGINE) { diff --git a/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/main.cpp b/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/main.cpp index 7681c1468e..8a588c6e21 100644 --- a/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/main.cpp +++ b/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/main.cpp @@ -26,16 +26,22 @@ ** ****************************************************************************/ +#include <cstdlib> + #include <QGuiApplication> #include <QColorSpace> -// Run this with -// QT_LOGGING_RULES="qt.gui.icc=false" -// to reduce noise and increase speed. - extern "C" int LLVMFuzzerTestOneInput(const char *data, size_t size) { - static int c = 0; - static QGuiApplication a(c, nullptr); + // to reduce noise and increase speed + static char quiet[] = "QT_LOGGING_RULES=qt.gui.icc=false"; + static int pe = putenv(quiet); + Q_UNUSED(pe) + static int argc = 3; + static char arg1[] = "fuzzer"; + static char arg2[] = "-platform"; + static char arg3[] = "minimal"; + static char *argv[] = {arg1, arg2, arg3, nullptr}; + static QGuiApplication qga(argc, argv); QColorSpace cs = QColorSpace::fromIccProfile(QByteArray::fromRawData(data, size)); return 0; } |