aboutsummaryrefslogtreecommitdiff
path: root/c
diff options
context:
space:
mode:
Diffstat (limited to 'c')
-rw-r--r--c/fuzz/.bazelrc18
-rw-r--r--c/fuzz/BUILD.bazel12
-rw-r--r--c/fuzz/WORKSPACE.bazel0
3 files changed, 30 insertions, 0 deletions
diff --git a/c/fuzz/.bazelrc b/c/fuzz/.bazelrc
new file mode 100644
index 0000000..243942a
--- /dev/null
+++ b/c/fuzz/.bazelrc
@@ -0,0 +1,18 @@
+# Force the use of Clang for C++ builds.
+build --action_env=CC=clang
+build --action_env=CXX=clang++
+
+# Define the --config=asan-libfuzzer configuration.
+build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:libfuzzer
+build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer
+build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=asan
+
+# Define the --config=msan-libfuzzer configuration.
+build:msan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:libfuzzer
+build:msan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer
+build:msan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=msan
+
+# Define the --config=ubsan-libfuzzer configuration.
+build:ubsan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:libfuzzer
+build:ubsan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer
+build:ubsan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=ubsan
diff --git a/c/fuzz/BUILD.bazel b/c/fuzz/BUILD.bazel
new file mode 100644
index 0000000..7f56d96
--- /dev/null
+++ b/c/fuzz/BUILD.bazel
@@ -0,0 +1,12 @@
+load("@rules_fuzzing//fuzzing:cc_defs.bzl", "cc_fuzz_test")
+
+package(default_visibility = ["//visibility:public"])
+
+licenses(["notice"]) # MIT
+
+# To start fuzzing run: bazel run --config=asan-libfuzzer //:fuzz_config_run
+cc_fuzz_test(
+ name = "decode_fuzzer",
+ srcs = ["decode_fuzzer.c"],
+ deps = ["@org_brotli//:brotlidec"],
+)
diff --git a/c/fuzz/WORKSPACE.bazel b/c/fuzz/WORKSPACE.bazel
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/c/fuzz/WORKSPACE.bazel