aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/BUILD.bazel30
-rwxr-xr-xexamples/check_for_finding.sh30
-rw-r--r--examples/json_sanitizer_denylist_crashbin0 -> 38 bytes
3 files changed, 60 insertions, 0 deletions
diff --git a/examples/BUILD.bazel b/examples/BUILD.bazel
index ca17ba3f..d721b81d 100644
--- a/examples/BUILD.bazel
+++ b/examples/BUILD.bazel
@@ -150,6 +150,36 @@ java_fuzz_target_test(
],
)
+java_binary(
+ name = "JsonSanitizerDenylistCrash",
+ args = [
+ "com.example.JsonSanitizerDenylistFuzzer",
+ "$(location :json_sanitizer_denylist_crash)",
+ ],
+ data = [
+ ":json_sanitizer_denylist_crash",
+ ],
+ main_class = "com.code_intelligence.jazzer.replay.Replayer",
+ runtime_deps = [
+ ":JsonSanitizerDenylistFuzzer_target_deploy.jar",
+ "//agent/src/main/java/com/code_intelligence/jazzer/replay:Replayer_deploy.jar",
+ ],
+)
+
+sh_test(
+ name = "JsonSanitizerDenylistCrashTest",
+ srcs = ["check_for_finding.sh"],
+ args = [
+ "$(location :JsonSanitizerDenylistCrash)",
+ "com.example.JsonSanitizerDenylistFuzzer",
+ "$(location :json_sanitizer_denylist_crash)",
+ ],
+ data = [
+ ":JsonSanitizerDenylistCrash",
+ ":json_sanitizer_denylist_crash",
+ ],
+)
+
java_fuzz_target_test(
name = "JsonSanitizerIdempotenceFuzzer",
srcs = [
diff --git a/examples/check_for_finding.sh b/examples/check_for_finding.sh
new file mode 100755
index 00000000..f60c011c
--- /dev/null
+++ b/examples/check_for_finding.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+# Copyright 2021 Code Intelligence GmbH
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+eval "$@"
+# Assert that we either found a crash in java (exit code 77) or an ASan crash
+# (exit code 76).
+declare -i exit_code=$?
+if [ $exit_code -eq 77 ] || [ $exit_code -eq 76 ]
+then
+ if [ "$(ls "$DEFAULT_CRASH_PREFIX/")" ]; then
+ exit 0
+ else
+ exit 1
+ fi
+else
+ echo "Unexpected exit code: $exit_code"
+ exit 1
+fi
diff --git a/examples/json_sanitizer_denylist_crash b/examples/json_sanitizer_denylist_crash
new file mode 100644
index 00000000..7324203a
--- /dev/null
+++ b/examples/json_sanitizer_denylist_crash
Binary files differ