summaryrefslogtreecommitdiffstats
path: root/lib/libbpf/fuzz/bpf-object-fuzzer.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libbpf/fuzz/bpf-object-fuzzer.c')
-rw-r--r--lib/libbpf/fuzz/bpf-object-fuzzer.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/libbpf/fuzz/bpf-object-fuzzer.c b/lib/libbpf/fuzz/bpf-object-fuzzer.c
new file mode 100644
index 0000000..89286e2
--- /dev/null
+++ b/lib/libbpf/fuzz/bpf-object-fuzzer.c
@@ -0,0 +1,23 @@
+#include "libbpf.h"
+
+static int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)
+{
+ return 0;
+}
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+ struct bpf_object *obj = NULL;
+ DECLARE_LIBBPF_OPTS(bpf_object_open_opts, opts);
+ int err;
+
+ libbpf_set_print(libbpf_print_fn);
+
+ opts.object_name = "fuzz-object";
+ obj = bpf_object__open_mem(data, size, &opts);
+ err = libbpf_get_error(obj);
+ if (err)
+ return 0;
+
+ bpf_object__close(obj);
+ return 0;
+}