Lagom: Extract the list of fuzzing targets to a separate file

This commit is contained in:
Tim Schumacher 2023-05-23 00:21:44 +02:00 committed by Andreas Kling
parent faa08ef1a1
commit 9690b4011b
Notes: sideshowbarker 2024-07-16 23:44:30 +09:00
2 changed files with 134 additions and 64 deletions

View file

@ -18,70 +18,11 @@ function(add_simple_fuzzer name)
endif()
endfunction()
add_simple_fuzzer(FuzzBMPLoader LibGfx)
add_simple_fuzzer(FuzzBrotli LibCompress)
if (ENABLE_LAGOM_LIBWEB)
add_simple_fuzzer(FuzzCSSParser LibWeb)
endif()
add_simple_fuzzer(FuzzCyrillicDecoder LibTextCodec)
add_simple_fuzzer(FuzzDeflateCompression LibCompress)
add_simple_fuzzer(FuzzDeflateDecompression LibCompress)
add_simple_fuzzer(FuzzELF LibELF)
add_simple_fuzzer(FuzzFlacLoader LibAudio)
add_simple_fuzzer(FuzzGemini LibGemini)
add_simple_fuzzer(FuzzGIFLoader LibGfx)
add_simple_fuzzer(FuzzGzipCompression LibCompress)
add_simple_fuzzer(FuzzGzipDecompression LibCompress)
add_simple_fuzzer(FuzzICCProfile LibGfx)
add_simple_fuzzer(FuzzICOLoader LibGfx)
add_simple_fuzzer(FuzzJPEGLoader LibGfx)
add_simple_fuzzer(FuzzLzmaDecompression LibArchive LibCompress)
add_simple_fuzzer(FuzzLzmaRoundtrip LibCompress)
add_simple_fuzzer(FuzzMatroskaReader LibVideo)
add_simple_fuzzer(FuzzMD5 LibCrypto)
add_simple_fuzzer(FuzzMP3Loader LibAudio)
add_simple_fuzzer(FuzzPEM LibCrypto)
add_simple_fuzzer(FuzzPNGLoader LibGfx)
add_simple_fuzzer(FuzzPBMLoader LibGfx)
add_simple_fuzzer(FuzzPGMLoader LibGfx)
add_simple_fuzzer(FuzzPoly1305 LibCrypto)
add_simple_fuzzer(FuzzPPMLoader LibGfx)
add_simple_fuzzer(FuzzPDF LibPDF)
add_simple_fuzzer(FuzzQOALoader LibAudio)
add_simple_fuzzer(FuzzQOILoader LibGfx)
add_simple_fuzzer(FuzzTGALoader LibGfx)
add_simple_fuzzer(FuzzQuotedPrintableParser LibIMAP)
add_simple_fuzzer(FuzzHebrewDecoder LibTextCodec)
add_simple_fuzzer(FuzzHttpRequest LibHTTP)
add_simple_fuzzer(FuzzIMAPParser LibIMAP)
add_simple_fuzzer(FuzzJs LibJS)
add_simple_fuzzer(FuzzLatin1Decoder LibTextCodec)
add_simple_fuzzer(FuzzLatin2Decoder LibTextCodec)
add_simple_fuzzer(FuzzMarkdown LibMarkdown)
add_simple_fuzzer(FuzzRegexECMA262 LibRegex)
add_simple_fuzzer(FuzzRegexPosixBasic LibRegex)
add_simple_fuzzer(FuzzRegexPosixExtended LibRegex)
add_simple_fuzzer(FuzzASN1 LibCrypto LibTLS)
add_simple_fuzzer(FuzzSHA1 LibCrypto)
add_simple_fuzzer(FuzzSHA256 LibCrypto)
add_simple_fuzzer(FuzzSHA384 LibCrypto)
add_simple_fuzzer(FuzzSHA512 LibCrypto)
add_simple_fuzzer(FuzzShell LibShell)
add_simple_fuzzer(FuzzShellPosix LibShell)
add_simple_fuzzer(FuzzSQLParser LibSQL)
add_simple_fuzzer(FuzzTar LibArchive)
add_simple_fuzzer(FuzzTTF LibGfx)
add_simple_fuzzer(FuzzURL)
add_simple_fuzzer(FuzzUTF16BEDecoder LibTextCodec)
add_simple_fuzzer(FuzzRSAKeyParsing LibCrypto)
add_simple_fuzzer(FuzzVP9Decoder LibVideo)
add_simple_fuzzer(FuzzWAVLoader LibAudio)
add_simple_fuzzer(FuzzWasmParser LibWasm)
add_simple_fuzzer(FuzzWebPLoader LibGfx)
add_simple_fuzzer(FuzzWOFF LibGfx)
add_simple_fuzzer(FuzzXML LibXML)
add_simple_fuzzer(FuzzZip LibArchive)
add_simple_fuzzer(FuzzZlibDecompression LibCompress)
include(fuzzers.cmake)
foreach(target IN LISTS FUZZER_TARGETS)
add_simple_fuzzer("Fuzz${target}" "${FUZZER_DEPENDENCIES_${target}}")
endforeach()
if (ENABLE_FUZZERS_LIBFUZZER)
set(CMAKE_EXE_LINKER_FLAGS "${ORIGINAL_CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")

View file

@ -0,0 +1,129 @@
set(FUZZER_TARGETS
ASN1
BMPLoader
Brotli
CyrillicDecoder
DeflateCompression
DeflateDecompression
ELF
FlacLoader
Gemini
GIFLoader
GzipCompression
GzipDecompression
HebrewDecoder
HttpRequest
ICCProfile
ICOLoader
IMAPParser
JPEGLoader
Js
Latin1Decoder
Latin2Decoder
LzmaDecompression
LzmaRoundtrip
Markdown
MatroskaReader
MD5
MP3Loader
PBMLoader
PDF
PEM
PGMLoader
PNGLoader
Poly1305
PPMLoader
QOALoader
QOILoader
QuotedPrintableParser
RegexECMA262
RegexPosixBasic
RegexPosixExtended
RSAKeyParsing
SHA1
SHA256
SHA384
SHA512
Shell
ShellPosix
SQLParser
Tar
TGALoader
TTF
URL
UTF16BEDecoder
VP9Decoder
WasmParser
WAVLoader
WebPLoader
WOFF
XML
Zip
ZlibDecompression
)
if (ENABLE_LAGOM_LIBWEB)
list(APPEND FUZZER_TARGETS CSSParser)
endif()
set(FUZZER_DEPENDENCIES_ASN1 LibCrypto LibTLS)
set(FUZZER_DEPENDENCIES_BMPLoader LibGfx)
set(FUZZER_DEPENDENCIES_Brotli LibCompress)
set(FUZZER_DEPENDENCIES_CSSParser LibWeb)
set(FUZZER_DEPENDENCIES_CyrillicDecoder LibTextCodec)
set(FUZZER_DEPENDENCIES_DeflateCompression LibCompress)
set(FUZZER_DEPENDENCIES_DeflateDecompression LibCompress)
set(FUZZER_DEPENDENCIES_ELF LibELF)
set(FUZZER_DEPENDENCIES_FlacLoader LibAudio)
set(FUZZER_DEPENDENCIES_Gemini LibGemini)
set(FUZZER_DEPENDENCIES_GIFLoader LibGfx)
set(FUZZER_DEPENDENCIES_GzipCompression LibCompress)
set(FUZZER_DEPENDENCIES_GzipDecompression LibCompress)
set(FUZZER_DEPENDENCIES_HebrewDecoder LibTextCodec)
set(FUZZER_DEPENDENCIES_HttpRequest LibHTTP)
set(FUZZER_DEPENDENCIES_ICCProfile LibGfx)
set(FUZZER_DEPENDENCIES_ICOLoader LibGfx)
set(FUZZER_DEPENDENCIES_IMAPParser LibIMAP)
set(FUZZER_DEPENDENCIES_JPEGLoader LibGfx)
set(FUZZER_DEPENDENCIES_Js LibJS)
set(FUZZER_DEPENDENCIES_Latin1Decoder LibTextCodec)
set(FUZZER_DEPENDENCIES_Latin2Decoder LibTextCodec)
set(FUZZER_DEPENDENCIES_LzmaDecompression LibArchive LibCompress)
set(FUZZER_DEPENDENCIES_LzmaRoundtrip LibCompress)
set(FUZZER_DEPENDENCIES_Markdown LibMarkdown)
set(FUZZER_DEPENDENCIES_MatroskaReader LibVideo)
set(FUZZER_DEPENDENCIES_MD5 LibCrypto)
set(FUZZER_DEPENDENCIES_MP3Loader LibAudio)
set(FUZZER_DEPENDENCIES_PBMLoader LibGfx)
set(FUZZER_DEPENDENCIES_PDF LibPDF)
set(FUZZER_DEPENDENCIES_PEM LibCrypto)
set(FUZZER_DEPENDENCIES_PGMLoader LibGfx)
set(FUZZER_DEPENDENCIES_PNGLoader LibGfx)
set(FUZZER_DEPENDENCIES_Poly1305 LibCrypto)
set(FUZZER_DEPENDENCIES_PPMLoader LibGfx)
set(FUZZER_DEPENDENCIES_QOALoader LibAudio)
set(FUZZER_DEPENDENCIES_QOILoader LibGfx)
set(FUZZER_DEPENDENCIES_QuotedPrintableParser LibIMAP)
set(FUZZER_DEPENDENCIES_RegexECMA262 LibRegex)
set(FUZZER_DEPENDENCIES_RegexPosixBasic LibRegex)
set(FUZZER_DEPENDENCIES_RegexPosixExtended LibRegex)
set(FUZZER_DEPENDENCIES_RSAKeyParsing LibCrypto)
set(FUZZER_DEPENDENCIES_SHA1 LibCrypto)
set(FUZZER_DEPENDENCIES_SHA256 LibCrypto)
set(FUZZER_DEPENDENCIES_SHA384 LibCrypto)
set(FUZZER_DEPENDENCIES_SHA512 LibCrypto)
set(FUZZER_DEPENDENCIES_Shell LibShell)
set(FUZZER_DEPENDENCIES_ShellPosix LibShell)
set(FUZZER_DEPENDENCIES_SQLParser LibSQL)
set(FUZZER_DEPENDENCIES_Tar LibArchive)
set(FUZZER_DEPENDENCIES_TGALoader LibGfx)
set(FUZZER_DEPENDENCIES_TTF LibGfx)
set(FUZZER_DEPENDENCIES_UTF16BEDecoder LibTextCodec)
set(FUZZER_DEPENDENCIES_VP9Decoder LibVideo)
set(FUZZER_DEPENDENCIES_WasmParser LibWasm)
set(FUZZER_DEPENDENCIES_WAVLoader LibAudio)
set(FUZZER_DEPENDENCIES_WebPLoader LibGfx)
set(FUZZER_DEPENDENCIES_WOFF LibGfx)
set(FUZZER_DEPENDENCIES_XML LibXML)
set(FUZZER_DEPENDENCIES_Zip LibArchive)
set(FUZZER_DEPENDENCIES_ZlibDecompression LibCompress)