diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/BUILD.bazel | 30 | ||||
-rwxr-xr-x | examples/check_for_finding.sh | 30 | ||||
-rw-r--r-- | examples/json_sanitizer_denylist_crash | bin | 0 -> 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 Binary files differnew file mode 100644 index 00000000..7324203a --- /dev/null +++ b/examples/json_sanitizer_denylist_crash |