Support UBSan for local fuzzing (#187)
With Jazzer supporting full UBSan as of
https://github.com/CodeIntelligenceTesting/jazzer/pull/169
as well as a much simpler way to link the UBSan C++ runtime via the flag
used in #186, UBSan can now be supported in local mode without
introducing additional complexity.
The list of enabled UBSan checks is taken from OSS-Fuzz.
The commit also adds tests to verify that both C++ and Java fuzz tests
support the UBSan C++ checks without linker errors.
diff --git a/examples/BUILD b/examples/BUILD
index b8afd15..65219ca 100644
--- a/examples/BUILD
+++ b/examples/BUILD
@@ -126,3 +126,19 @@
"@bazel_tools//tools/cpp/runfiles",
],
)
+
+cc_fuzz_test(
+ name = "ubsan_int_overflow_fuzz_test",
+ srcs = ["ubsan_int_overflow_fuzz_test.cc"],
+ tags = [
+ "no-oss-fuzz",
+ ],
+)
+
+cc_fuzz_test(
+ name = "ubsan_function_ptr_fuzz_test",
+ srcs = ["ubsan_function_ptr_fuzz_test.cc"],
+ tags = [
+ "no-oss-fuzz",
+ ],
+)