Add fuzzer for AIDL broadcast radio
Refactored Android.bp file and added fuzzer for default AIDL broadcast
radio HAL.
Bug: 246857025
Test: SANITIZE_TARGET=address make android.hardware.broadcastradio-service.default_fuzzer
cd ${ANDROID_PRODUCT_OUT}
adb root && adb sync data
adb shell /data/fuzz/x86_64/android.hardware.broadcastradio-service.default_fuzzer/vendor/android.hardware.broadcastradio-service.default_fuzzer --test_env=ENABLE_BLAZE_TEST_FUZZING=1 --test_arg=--minloglevel=0
Change-Id: I443fe6fccccb51626e6a58819f3f28ce11b0bff8
diff --git a/broadcastradio/aidl/default/Android.bp b/broadcastradio/aidl/default/Android.bp
index 720aa8a..1d1bef7 100644
--- a/broadcastradio/aidl/default/Android.bp
+++ b/broadcastradio/aidl/default/Android.bp
@@ -23,23 +23,8 @@
default_applicable_licenses: ["hardware_interfaces_license"],
}
-cc_binary {
- name: "android.hardware.broadcastradio-service.default",
- relative_install_path: "hw",
- init_rc: ["broadcastradio-default.rc"],
- vintf_fragments: ["broadcastradio-default.xml"],
- vendor: true,
- cflags: [
- "-Wall",
- "-Wextra",
- "-Werror",
- ],
- srcs: [
- "BroadcastRadio.cpp",
- "main.cpp",
- "VirtualProgram.cpp",
- "VirtualRadio.cpp",
- ],
+cc_defaults {
+ name: "BroadcastRadioHalDefaults",
static_libs: [
"android.hardware.broadcastradio@common-utils-aidl-lib",
"android.hardware.broadcastradio@common-utils-lib",
@@ -51,4 +36,61 @@
"liblog",
"libcutils",
],
+ cflags: [
+ "-Wall",
+ "-Wextra",
+ "-Werror",
+ ],
+}
+
+cc_binary {
+ name: "android.hardware.broadcastradio-service.default",
+ relative_install_path: "hw",
+ init_rc: ["broadcastradio-default.rc"],
+ vintf_fragments: ["broadcastradio-default.xml"],
+ vendor: true,
+ defaults: [
+ "BroadcastRadioHalDefaults",
+ ],
+ srcs: [
+ "main.cpp",
+ ],
+ static_libs: [
+ "DefaultBroadcastRadioHal",
+ ],
+}
+
+cc_library {
+ name: "DefaultBroadcastRadioHal",
+ vendor: true,
+ export_include_dirs: ["."],
+ defaults: [
+ "BroadcastRadioHalDefaults",
+ ],
+ srcs: [
+ "BroadcastRadio.cpp",
+ "VirtualProgram.cpp",
+ "VirtualRadio.cpp",
+ ],
+}
+
+cc_fuzz {
+ name: "android.hardware.broadcastradio-service.default_fuzzer",
+ vendor: true,
+ defaults: [
+ "BroadcastRadioHalDefaults",
+ "service_fuzzer_defaults",
+ ],
+ static_libs: [
+ "DefaultBroadcastRadioHal",
+ "android.hardware.broadcastradio-V1-ndk",
+ ],
+ srcs: [
+ "fuzzer.cpp",
+ ],
+ fuzz_config: {
+ cc: [
+ "xuweilin@google.com",
+ ],
+ },
}