From: Andrew Bartlett Date: Thu, 12 Dec 2019 23:01:01 +0000 (+1300) Subject: lib/fuzzing: Allow load of fuzz inputs as files on the command line X-Git-Tag: ldb-2.1.0~231 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5a989d6670911e16aed9061a8c6a74676f4c8a8e;p=thirdparty%2Fsamba.git lib/fuzzing: Allow load of fuzz inputs as files on the command line This is easier to put under gdb. Signed-off-by: Andrew Bartlett Reviewed-by: Gary Lockyer --- diff --git a/lib/fuzzing/afl-fuzz-main.c b/lib/fuzzing/afl-fuzz-main.c index 730aa39ae49..9f677557867 100644 --- a/lib/fuzzing/afl-fuzz-main.c +++ b/lib/fuzzing/afl-fuzz-main.c @@ -28,6 +28,20 @@ int main(int argc, char *argv[]) { size_t size = 0; #ifdef __AFL_LOOP while (__AFL_LOOP(1000)) +#else + int i; + for (i = 0; i < argc; i++) { + uint8_t *buf = (uint8_t *)file_load(argv[i], + &size, + 0, + NULL); + ret = LLVMFuzzerTestOneInput(buf, size); + TALLOC_FREE(buf); + if (ret != 0) { + return ret; + } + } + if (i == 0) #endif { uint8_t *buf = (uint8_t *)fd_load(0, &size, 0, NULL);