From f9c39237adfaf1ea223e5c810d019f433af95cf0 Mon Sep 17 00:00:00 2001 From: Michael Hanselmann Date: Wed, 10 Apr 2019 00:36:03 +0200 Subject: [PATCH] Add fuzzing binary for lzxpress Signed-off-by: Michael Hanselmann Reviewed-by: Andrew Bartlett Reviewed-by: Uri Simchoni --- lib/fuzzing/fuzz_lzxpress.c | 35 +++++++++++++++++++++++++++++++++++ lib/fuzzing/wscript_build | 7 +++++++ 2 files changed, 42 insertions(+) create mode 100644 lib/fuzzing/fuzz_lzxpress.c diff --git a/lib/fuzzing/fuzz_lzxpress.c b/lib/fuzzing/fuzz_lzxpress.c new file mode 100644 index 00000000000..61ce9e6f9c0 --- /dev/null +++ b/lib/fuzzing/fuzz_lzxpress.c @@ -0,0 +1,35 @@ +/* + Fuzzing for lzxpress_decompress + Copyright (C) Michael Hanselmann 2019 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "includes.h" +#include "fuzzing/fuzzing.h" +#include "lzxpress.h" + +int LLVMFuzzerInitialize(int *argc, char ***argv) +{ + return 0; +} + +int LLVMFuzzerTestOneInput(uint8_t *buf, size_t len) +{ + static uint8_t output[1024 * 1024] = {0}; + + lzxpress_decompress(buf, len, output, sizeof(output)); + + return 0; +} diff --git a/lib/fuzzing/wscript_build b/lib/fuzzing/wscript_build index 2427c5dcdce..fc6cfae77cc 100644 --- a/lib/fuzzing/wscript_build +++ b/lib/fuzzing/wscript_build @@ -32,3 +32,10 @@ bld.SAMBA_BINARY('fuzz_regfio', install=False, enabled=bld.env.enable_libfuzzer, ) + +bld.SAMBA_BINARY('fuzz_lzxpress', + source='fuzz_lzxpress.c', + deps='fuzzing LZXPRESS', + install=False, + enabled=bld.env.enable_libfuzzer, + ) -- 2.47.3