diff options
-rw-r--r-- | agent/src/jmh/native/com/code_intelligence/jazzer/runtime/fuzzer_callbacks.cpp | 5 | ||||
-rw-r--r-- | driver/fuzzed_data_provider.cpp | 9 | ||||
-rw-r--r-- | driver/libfuzzer_fuzz_target.cpp | 15 | ||||
-rw-r--r-- | driver/sanitizer_symbols.cpp | 4 | ||||
-rw-r--r-- | driver/signal_handler.cpp | 3 |
5 files changed, 23 insertions, 13 deletions
diff --git a/agent/src/jmh/native/com/code_intelligence/jazzer/runtime/fuzzer_callbacks.cpp b/agent/src/jmh/native/com/code_intelligence/jazzer/runtime/fuzzer_callbacks.cpp index 689a53d6..718a3924 100644 --- a/agent/src/jmh/native/com/code_intelligence/jazzer/runtime/fuzzer_callbacks.cpp +++ b/agent/src/jmh/native/com/code_intelligence/jazzer/runtime/fuzzer_callbacks.cpp @@ -43,7 +43,10 @@ void __sanitizer_cov_trace_div8(uint64_t val); void __sanitizer_cov_trace_gep(uintptr_t idx); // Not called but required to link against libFuzzer. -int LLVMFuzzerTestOneInput(const uint8_t *data, std::size_t size) { return 0; } +[[maybe_unused]] int LLVMFuzzerTestOneInput(const uint8_t *data, + std::size_t size) { + return 0; +} } inline __attribute__((always_inline)) void *idToPc(jint id) { diff --git a/driver/fuzzed_data_provider.cpp b/driver/fuzzed_data_provider.cpp index ef595d2d..f4956ac7 100644 --- a/driver/fuzzed_data_provider.cpp +++ b/driver/fuzzed_data_provider.cpp @@ -700,18 +700,21 @@ const jint kNumFuzzedDataMethods = sizeof(kFuzzedDataMethods) / sizeof(kFuzzedDataMethods[0]); } // namespace -void Java_com_code_1intelligence_jazzer_runtime_FuzzedDataProviderImpl_nativeInit( +[[maybe_unused]] void +Java_com_code_1intelligence_jazzer_runtime_FuzzedDataProviderImpl_nativeInit( JNIEnv *env, jclass clazz) { env->RegisterNatives(clazz, kFuzzedDataMethods, kNumFuzzedDataMethods); } -void Java_com_code_1intelligence_jazzer_runtime_FuzzedDataProviderImpl_reset( +[[maybe_unused]] void +Java_com_code_1intelligence_jazzer_runtime_FuzzedDataProviderImpl_reset( JNIEnv *env, jclass clazz) { gDataPtr = gFuzzerInputStart; gRemainingBytes = gFuzzerInputSize; } -void Java_com_code_1intelligence_jazzer_runtime_FuzzedDataProviderImpl_feed( +[[maybe_unused]] void +Java_com_code_1intelligence_jazzer_runtime_FuzzedDataProviderImpl_feed( JNIEnv *env, jclass, jbyteArray input) { // This line is why this function must not be used if FeedFuzzedDataProvider // is also called from native code. diff --git a/driver/libfuzzer_fuzz_target.cpp b/driver/libfuzzer_fuzz_target.cpp index 15c7d358..58380a24 100644 --- a/driver/libfuzzer_fuzz_target.cpp +++ b/driver/libfuzzer_fuzz_target.cpp @@ -22,7 +22,7 @@ bool is_asan_active = false; } extern "C" { -const char *__asan_default_options() { +[[maybe_unused]] const char *__asan_default_options() { is_asan_active = true; // LeakSanitizer is not yet supported as it reports too many false positives // due to how the JVM GC works. @@ -32,7 +32,7 @@ const char *__asan_default_options() { return "abort_on_error=0,detect_leaks=0,exitcode=76"; } -const char *__ubsan_default_options() { +[[maybe_unused]] const char *__ubsan_default_options() { // We use a distinguished exit code to recognize UBSan crashes in tests. // Also specify abort_on_error=0 explicitly since UBSan aborts rather than // exits on macOS by default, which would cause our exit code to be ignored. @@ -74,19 +74,21 @@ extern "C" [[maybe_unused]] void __jazzer_set_death_callback( }); } -void Java_com_code_1intelligence_jazzer_driver_FuzzTargetRunner_printCrashingInput( +[[maybe_unused]] void +Java_com_code_1intelligence_jazzer_driver_FuzzTargetRunner_printCrashingInput( JNIEnv *, jclass) { jazzer::AbstractLibfuzzerDriver::libfuzzer_print_crashing_input_(); } -void Java_com_code_1intelligence_jazzer_driver_FuzzTargetRunner__1Exit( +[[maybe_unused]] void +Java_com_code_1intelligence_jazzer_driver_FuzzTargetRunner__1Exit( JNIEnv *, jclass, jint exit_code) { _Exit(exit_code); } // Entry point called by libfuzzer before any LLVMFuzzerTestOneInput(...) // invocations. -extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv) { +extern "C" [[maybe_unused]] int LLVMFuzzerInitialize(int *argc, char ***argv) { if (is_asan_active) { std::cerr << "WARN: Jazzer is not compatible with LeakSanitizer yet. Leaks " "are not reported." @@ -98,6 +100,7 @@ extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv) { } // Called by the fuzzer for every fuzzing input. -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, const size_t size) { +extern "C" [[maybe_unused]] int LLVMFuzzerTestOneInput(const uint8_t *data, + const size_t size) { return gLibfuzzerDriver->TestOneInput(data, size); } diff --git a/driver/sanitizer_symbols.cpp b/driver/sanitizer_symbols.cpp index 10255ef1..c009fcbe 100644 --- a/driver/sanitizer_symbols.cpp +++ b/driver/sanitizer_symbols.cpp @@ -17,13 +17,13 @@ extern "C" void __sanitizer_set_death_callback(void (*)()) {} // Suppress libFuzzer warnings about missing sanitizer methods in non-sanitizer // builds. -extern "C" int __sanitizer_acquire_crash_state() { return 1; } +extern "C" [[maybe_unused]] int __sanitizer_acquire_crash_state() { return 1; } namespace jazzer { void DumpJvmStackTraces(); } // Dump a JVM stack trace on timeouts. -extern "C" void __sanitizer_print_stack_trace() { +extern "C" [[maybe_unused]] void __sanitizer_print_stack_trace() { jazzer::DumpJvmStackTraces(); } diff --git a/driver/signal_handler.cpp b/driver/signal_handler.cpp index 0b984978..2600a53a 100644 --- a/driver/signal_handler.cpp +++ b/driver/signal_handler.cpp @@ -26,7 +26,8 @@ #endif // Handles SIGINT raised while running Java code. -void Java_com_code_1intelligence_jazzer_runtime_SignalHandler_handleInterrupt( +[[maybe_unused]] void +Java_com_code_1intelligence_jazzer_runtime_SignalHandler_handleInterrupt( JNIEnv *, jclass) { static std::atomic<bool> already_exiting{false}; if (!already_exiting.exchange(true)) { |