diff options
Diffstat (limited to 'cmds/servicemanager/ServiceManagerFuzzer.cpp')
-rw-r--r-- | cmds/servicemanager/ServiceManagerFuzzer.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/cmds/servicemanager/ServiceManagerFuzzer.cpp b/cmds/servicemanager/ServiceManagerFuzzer.cpp index 39f8522f84..bc48fa920e 100644 --- a/cmds/servicemanager/ServiceManagerFuzzer.cpp +++ b/cmds/servicemanager/ServiceManagerFuzzer.cpp @@ -26,9 +26,15 @@ using ::android::ServiceManager; using ::android::sp; extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + FuzzedDataProvider provider(data, size); + + // Adding this random abort to check bug pipeline. + bool shouldAbort = provider.ConsumeBool(); + if (shouldAbort) abort(); + auto accessPtr = std::make_unique<Access>(); auto serviceManager = sp<ServiceManager>::make(std::move(accessPtr)); - fuzzService(serviceManager, FuzzedDataProvider(data, size)); + fuzzService(serviceManager, std::move(provider)); return 0; } |