summaryrefslogtreecommitdiff
path: root/libsparse/sparse_fuzzer.cpp
diff options
context:
space:
mode:
authorhamzeh <hamzeh@google.com>2019-09-25 11:00:31 -0700
committerhamzeh <hamzeh@google.com>2019-09-25 13:27:52 -0700
commitd17dc6af5262cdf5ea93457f874225af59b860a1 (patch)
tree6d85eec9a73f27797d9582be3e4e8e993cb8e16f /libsparse/sparse_fuzzer.cpp
parenta550e7f4128a4e5747950d239fd41cbbc436649b (diff)
Add fuzzer for libsparse
Bug: 141129284 Test: SANITIZE_TARGET="hwaddress fuzzer' make libsparse_fuzzer Change-Id: I54e19d399f7ea29a45734f1ddc520ceec56add09
Diffstat (limited to 'libsparse/sparse_fuzzer.cpp')
-rw-r--r--libsparse/sparse_fuzzer.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/libsparse/sparse_fuzzer.cpp b/libsparse/sparse_fuzzer.cpp
new file mode 100644
index 000000000..42f331fc3
--- /dev/null
+++ b/libsparse/sparse_fuzzer.cpp
@@ -0,0 +1,16 @@
+#include "include/sparse/sparse.h"
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+ if (size < 2 * sizeof(wchar_t)) return 0;
+
+ int64_t blocksize = 4096;
+ struct sparse_file* file = sparse_file_new(size, blocksize);
+ if (!file) {
+ return 0;
+ }
+
+ unsigned int block = 1;
+ sparse_file_add_data(file, &data, size, block);
+ sparse_file_destroy(file);
+ return 0;
+}