summaryrefslogtreecommitdiff
path: root/cmds/servicemanager/ServiceManagerFuzzer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cmds/servicemanager/ServiceManagerFuzzer.cpp')
-rw-r--r--cmds/servicemanager/ServiceManagerFuzzer.cpp8
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;
}