From 3bc2527ce7780e7d9bbe1290e7edf044622b8314 Mon Sep 17 00:00:00 2001 From: Luke Date: Mon, 31 May 2021 11:43:22 +0100 Subject: [PATCH] Lagom/Fuzzers: Add SQL parser fuzzer --- Meta/Lagom/Fuzzers/CMakeLists.txt | 1 + Meta/Lagom/Fuzzers/FuzzSQLParser.cpp | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 Meta/Lagom/Fuzzers/FuzzSQLParser.cpp diff --git a/Meta/Lagom/Fuzzers/CMakeLists.txt b/Meta/Lagom/Fuzzers/CMakeLists.txt index 9bb0ab0d73..4dea064ead 100644 --- a/Meta/Lagom/Fuzzers/CMakeLists.txt +++ b/Meta/Lagom/Fuzzers/CMakeLists.txt @@ -39,6 +39,7 @@ add_simple_fuzzer(FuzzMarkdown) add_simple_fuzzer(FuzzRegexECMA262) add_simple_fuzzer(FuzzRegexPosixExtended) add_simple_fuzzer(FuzzShell) +add_simple_fuzzer(FuzzSQLParser) add_simple_fuzzer(FuzzTTF) add_simple_fuzzer(FuzzURL) add_simple_fuzzer(FuzzUTF16BEDecoder) diff --git a/Meta/Lagom/Fuzzers/FuzzSQLParser.cpp b/Meta/Lagom/Fuzzers/FuzzSQLParser.cpp new file mode 100644 index 0000000000..0532e83274 --- /dev/null +++ b/Meta/Lagom/Fuzzers/FuzzSQLParser.cpp @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2021, Luke Wilde + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) +{ + auto parser = SQL::Parser(SQL::Lexer({ data, size })); + [[maybe_unused]] auto statement = parser.next_statement(); + return 0; +}