From 1f87fb359fdff14e42662384a9c8a0bcb3837671 Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Thu, 2 Jan 2020 19:05:37 +0100 Subject: [PATCH] Fuzzing: Allow linking to other fuzzing engines oss-fuzz sets the environment variable LIB_FUZZING_ENGINE to link with AFL or libFuzzer. If this variable is not set, libFuzzer will be used as before, only that the right qmake variable will be used for doing so. Change-Id: If9fe7739a8d2d4a76f4633a75cad3d2e935f3b61 Reviewed-by: Shawn Rutledge Reviewed-by: Albert Astals Cid --- .../qxmlstream/qxmlstreamreader/readnext/readnext.pro | 7 ++++++- tests/libfuzzer/gui/iccparser/iccparser.pro | 7 ++++++- tests/libfuzzer/gui/text/qtextdocument/setHtml/setHtml.pro | 7 ++++++- .../gui/text/qtextdocument/setMarkdown/setMarkdown.pro | 7 ++++++- .../gui/text/qtextlayout/beginLayout/beginLayout.pro | 7 ++++++- 5 files changed, 30 insertions(+), 5 deletions(-) diff --git a/tests/libfuzzer/corelib/serialization/qxmlstream/qxmlstreamreader/readnext/readnext.pro b/tests/libfuzzer/corelib/serialization/qxmlstream/qxmlstreamreader/readnext/readnext.pro index 2fda3ecefd8..6c988c24342 100644 --- a/tests/libfuzzer/corelib/serialization/qxmlstream/qxmlstreamreader/readnext/readnext.pro +++ b/tests/libfuzzer/corelib/serialization/qxmlstream/qxmlstreamreader/readnext/readnext.pro @@ -2,4 +2,9 @@ QT -= gui CONFIG += console CONFIG -= app_bundle SOURCES += main.cpp -LIBS += -fsanitize=fuzzer +FUZZ_ENGINE = $$(LIB_FUZZING_ENGINE) +isEmpty(FUZZ_ENGINE) { + QMAKE_LFLAGS += -fsanitize=fuzzer +} else { + LIBS += $$FUZZ_ENGINE +} diff --git a/tests/libfuzzer/gui/iccparser/iccparser.pro b/tests/libfuzzer/gui/iccparser/iccparser.pro index bf4037eae75..934ff810773 100644 --- a/tests/libfuzzer/gui/iccparser/iccparser.pro +++ b/tests/libfuzzer/gui/iccparser/iccparser.pro @@ -1,3 +1,8 @@ QT += gui SOURCES += main.cpp -LIBS += -fsanitize=fuzzer +FUZZ_ENGINE = $$(LIB_FUZZING_ENGINE) +isEmpty(FUZZ_ENGINE) { + QMAKE_LFLAGS += -fsanitize=fuzzer +} else { + LIBS += $$FUZZ_ENGINE +} diff --git a/tests/libfuzzer/gui/text/qtextdocument/setHtml/setHtml.pro b/tests/libfuzzer/gui/text/qtextdocument/setHtml/setHtml.pro index c9b14f6caf1..af5ef9e940e 100644 --- a/tests/libfuzzer/gui/text/qtextdocument/setHtml/setHtml.pro +++ b/tests/libfuzzer/gui/text/qtextdocument/setHtml/setHtml.pro @@ -1,3 +1,8 @@ QT += widgets SOURCES += main.cpp -LIBS += -fsanitize=fuzzer +FUZZ_ENGINE = $$(LIB_FUZZING_ENGINE) +isEmpty(FUZZ_ENGINE) { + QMAKE_LFLAGS += -fsanitize=fuzzer +} else { + LIBS += $$FUZZ_ENGINE +} diff --git a/tests/libfuzzer/gui/text/qtextdocument/setMarkdown/setMarkdown.pro b/tests/libfuzzer/gui/text/qtextdocument/setMarkdown/setMarkdown.pro index 4a2dfa51b91..758622e1af9 100644 --- a/tests/libfuzzer/gui/text/qtextdocument/setMarkdown/setMarkdown.pro +++ b/tests/libfuzzer/gui/text/qtextdocument/setMarkdown/setMarkdown.pro @@ -1,4 +1,9 @@ CONFIG += console CONFIG -= app_bundle SOURCES += main.cpp -LIBS += -fsanitize=fuzzer +FUZZ_ENGINE = $$(LIB_FUZZING_ENGINE) +isEmpty(FUZZ_ENGINE) { + QMAKE_LFLAGS += -fsanitize=fuzzer +} else { + LIBS += $$FUZZ_ENGINE +} diff --git a/tests/libfuzzer/gui/text/qtextlayout/beginLayout/beginLayout.pro b/tests/libfuzzer/gui/text/qtextlayout/beginLayout/beginLayout.pro index c9b14f6caf1..af5ef9e940e 100644 --- a/tests/libfuzzer/gui/text/qtextlayout/beginLayout/beginLayout.pro +++ b/tests/libfuzzer/gui/text/qtextlayout/beginLayout/beginLayout.pro @@ -1,3 +1,8 @@ QT += widgets SOURCES += main.cpp -LIBS += -fsanitize=fuzzer +FUZZ_ENGINE = $$(LIB_FUZZING_ENGINE) +isEmpty(FUZZ_ENGINE) { + QMAKE_LFLAGS += -fsanitize=fuzzer +} else { + LIBS += $$FUZZ_ENGINE +}