Add inputflinger InputReader fuzzer
This CL aims to add a fuzzer to test inputflinger's InputReader
functionality.
Test: Fuzzers tested on a Pixel 3a, and run for approximately 1M
iterations each to test stability. Executions/sec vary from
~400-900, depending on the fuzzer.
Summary of updates:
Coverage improvements: 36.75% to 82.29%
Design changes:
[1] Provided a mock Implementation for InputReaderInterface and
added support for newer APIs.
[2] Enabled support for few more Events that helped in discovering
new code paths.
[3] Added missing APIs and resolved OOB Access crashes.
[4] Refactored InputReaderFuzzer to resolve build errors.
Signed-off-by: Michael Ensing <michael.ensing@leviathansecurity.com>
Change-Id: I8e9c5f78960dba6d84a46ad7ee46963b3be79fec
diff --git a/services/inputflinger/tests/fuzzers/Android.bp b/services/inputflinger/tests/fuzzers/Android.bp
index 05755ac..f4ecba2 100644
--- a/services/inputflinger/tests/fuzzers/Android.bp
+++ b/services/inputflinger/tests/fuzzers/Android.bp
@@ -120,6 +120,16 @@
}
cc_fuzz {
+ name: "inputflinger_input_reader_fuzzer",
+ defaults: [
+ "inputflinger_fuzz_defaults",
+ ],
+ srcs: [
+ "InputReaderFuzzer.cpp",
+ ],
+}
+
+cc_fuzz {
name: "inputflinger_blocking_queue_fuzzer",
defaults: [
"inputflinger_fuzz_defaults",