aboutsummaryrefslogtreecommitdiffstats
path: root/fuzz/qpdf_read_memory_fuzzer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'fuzz/qpdf_read_memory_fuzzer.cc')
-rw-r--r--fuzz/qpdf_read_memory_fuzzer.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/fuzz/qpdf_read_memory_fuzzer.cc b/fuzz/qpdf_read_memory_fuzzer.cc
new file mode 100644
index 00000000..d4db62b0
--- /dev/null
+++ b/fuzz/qpdf_read_memory_fuzzer.cc
@@ -0,0 +1,15 @@
+#include "qpdf/qpdf-c.h"
+
+#include <algorithm>
+#include <cstddef>
+#include <cstdlib>
+
+extern "C" int LLVMFuzzerTestOneInput(const unsigned char* data, size_t size) {
+ const size_t kMaxSize = 64 * 1024; // 64 KiB
+ size = std::min(size, kMaxSize);
+ _qpdf_data* qpdf = qpdf_init();
+ const char* buffer = reinterpret_cast<const char*>(data);
+ qpdf_read_memory(qpdf, /*description=*/"", buffer, size, /*password=*/"");
+ qpdf_cleanup(&qpdf);
+ return 0;
+}