From 464729b3c7e681298184414c59f30861c2c40025 Mon Sep 17 00:00:00 2001 From: Christian Hartlage Date: Sun, 16 Feb 2020 01:17:48 +0100 Subject: [PATCH] add first version of oss-fuzz support --- c/encodeBinary_fuzzer.c | 22 ++++++++++++++++++++++ c/fuzzing.sh | 6 ++++++ 2 files changed, 28 insertions(+) create mode 100644 c/encodeBinary_fuzzer.c create mode 100755 c/fuzzing.sh diff --git a/c/encodeBinary_fuzzer.c b/c/encodeBinary_fuzzer.c new file mode 100644 index 0000000..01bdd8a --- /dev/null +++ b/c/encodeBinary_fuzzer.c @@ -0,0 +1,22 @@ +#include +#include +#include "qrcodegen.h" + +#ifdef __cplusplus +extern "C" { +#endif + +int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + + uint8_t qr0[qrcodegen_BUFFER_LEN_MAX]; + bool ok = qrcodegen_encodeBinary((uint8_t *) Data, Size, qr0, qrcodegen_Ecc_MEDIUM, qrcodegen_VERSION_MIN, qrcodegen_VERSION_MAX, qrcodegen_Mask_4, true); + if (!ok) + return 1; + + return 0; +} + +#ifdef __cplusplus +} +#endif + diff --git a/c/fuzzing.sh b/c/fuzzing.sh new file mode 100755 index 0000000..e761676 --- /dev/null +++ b/c/fuzzing.sh @@ -0,0 +1,6 @@ +#!/bin/bash +cd "$(dirname "$0")" +make -j +$CXX $CXXFLAGS encodeBinary_fuzzer.c -I. \ + -o $OUT/encodeBinary_fuzzer \ + $LIB_FUZZING_ENGINE -L. -lqrcodegen