From ce08fae13bb649824f1b6023ae5bb15b8e131a59 Mon Sep 17 00:00:00 2001 From: stelar7 Date: Thu, 7 Apr 2022 10:21:51 +0200 Subject: [PATCH] Meta: Add fuzzer for Poly1305 --- Meta/Lagom/Fuzzers/CMakeLists.txt | 1 + Meta/Lagom/Fuzzers/FuzzPoly1305.cpp | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 Meta/Lagom/Fuzzers/FuzzPoly1305.cpp diff --git a/Meta/Lagom/Fuzzers/CMakeLists.txt b/Meta/Lagom/Fuzzers/CMakeLists.txt index 5c2d965f78..cbff945cd4 100644 --- a/Meta/Lagom/Fuzzers/CMakeLists.txt +++ b/Meta/Lagom/Fuzzers/CMakeLists.txt @@ -36,6 +36,7 @@ add_simple_fuzzer(FuzzPEM LagomCrypto) add_simple_fuzzer(FuzzPNGLoader LagomGfx) add_simple_fuzzer(FuzzPBMLoader LagomGfx) add_simple_fuzzer(FuzzPGMLoader LagomGfx) +add_simple_fuzzer(FuzzPoly1305 LagomCrypto) add_simple_fuzzer(FuzzPPMLoader LagomGfx) add_simple_fuzzer(FuzzPDF LagomPDF) add_simple_fuzzer(FuzzQOILoader LagomGfx) diff --git a/Meta/Lagom/Fuzzers/FuzzPoly1305.cpp b/Meta/Lagom/Fuzzers/FuzzPoly1305.cpp new file mode 100644 index 0000000000..c9b06af162 --- /dev/null +++ b/Meta/Lagom/Fuzzers/FuzzPoly1305.cpp @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2022, stelar7 + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include + +extern "C" int LLVMFuzzerTestOneInput(uint8_t const* data, size_t size) +{ + if (size < 32) + return 0; + + auto initial = ReadonlyBytes { data, 32 }; + auto message = ReadonlyBytes { data + 32, size - 32 }; + + Crypto::Authentication::Poly1305 mac(initial); + mac.update(message); + (void)mac.digest(); + return 0; +}