Loading cmds/servicemanager/ServiceManager.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -762,4 +762,10 @@ Status ServiceManager::getServiceDebugInfo(std::vector<ServiceDebugInfo>* outRet return Status::ok(); } void ServiceManager::clear() { mNameToService.clear(); mNameToRegistrationCallback.clear(); mNameToClientCallback.clear(); } } // namespace android cmds/servicemanager/ServiceManager.h +6 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,12 @@ public: void binderDied(const wp<IBinder>& who) override; void handleClientCallbacks(); /** * This API is added for debug purposes. It clears members which hold service and callback * information. */ void clear(); protected: virtual void tryStartService(const std::string& name); Loading cmds/servicemanager/ServiceManagerFuzzer.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { auto accessPtr = std::make_unique<Access>(); auto serviceManager = sp<ServiceManager>::make(std::move(accessPtr)); fuzzService(serviceManager, FuzzedDataProvider(data, size)); serviceManager->clear(); return 0; } Loading
cmds/servicemanager/ServiceManager.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -762,4 +762,10 @@ Status ServiceManager::getServiceDebugInfo(std::vector<ServiceDebugInfo>* outRet return Status::ok(); } void ServiceManager::clear() { mNameToService.clear(); mNameToRegistrationCallback.clear(); mNameToClientCallback.clear(); } } // namespace android
cmds/servicemanager/ServiceManager.h +6 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,12 @@ public: void binderDied(const wp<IBinder>& who) override; void handleClientCallbacks(); /** * This API is added for debug purposes. It clears members which hold service and callback * information. */ void clear(); protected: virtual void tryStartService(const std::string& name); Loading
cmds/servicemanager/ServiceManagerFuzzer.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { auto accessPtr = std::make_unique<Access>(); auto serviceManager = sp<ServiceManager>::make(std::move(accessPtr)); fuzzService(serviceManager, FuzzedDataProvider(data, size)); serviceManager->clear(); return 0; }