Loading system/gd/hal/fuzz/fuzz_hci_hal.cc +2 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,8 @@ void FuzzHciHal::injectScoData(std::vector<uint8_t> data) { callbacks_->scoDataReceived(data); } const ModuleFactory FuzzHciHal::Factory = ModuleFactory([]() { return new FuzzHciHal(); }); } // namespace fuzz } // namespace hal } // namespace bluetooth system/gd/hal/fuzz/fuzz_hci_hal.h +2 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,8 @@ class FuzzHciHal : public HciHal { return "HciHalFuzz"; } static const ModuleFactory Factory; protected: void ListDependencies(ModuleList* list) override {} void Start() override {} Loading system/gd/hci/fuzz/acl_manager_fuzz_test.cc +5 −11 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ #include <fuzzer/FuzzedDataProvider.h> using bluetooth::TestModuleRegistry; using bluetooth::FuzzTestModuleRegistry; using bluetooth::fuzz::GetArbitraryBytes; using bluetooth::hci::AclManager; using bluetooth::hci::HciLayer; Loading @@ -38,12 +38,9 @@ using bluetooth::os::fuzz::fake_timerfd_reset; extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { FuzzedDataProvider dataProvider(data, size); static TestModuleRegistry moduleRegistry = TestModuleRegistry(); FuzzHciLayer* fuzzHci = new FuzzHciLayer(); moduleRegistry.InjectTestModule(&HciLayer::Factory, fuzzHci); fuzzHci->Start(); moduleRegistry.Start<AclManager>(&moduleRegistry.GetTestThread()); static FuzzTestModuleRegistry moduleRegistry = FuzzTestModuleRegistry(); FuzzHciLayer* fuzzHci = moduleRegistry.Inject<FuzzHciLayer>(&HciLayer::Factory); moduleRegistry.Start<AclManager>(); while (dataProvider.remaining_bytes() > 0) { const uint8_t action = dataProvider.ConsumeIntegralInRange(0, 12); Loading @@ -57,10 +54,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { } } if (!moduleRegistry.GetTestThread().GetReactor()->WaitForIdle(std::chrono::milliseconds(100))) { LOG_ERROR("idle timed out"); } moduleRegistry.StopAll(); moduleRegistry.WaitForIdleAndStopAll(); fake_timerfd_reset(); return 0; } system/gd/hci/fuzz/fuzz_hci_layer.cc +2 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,8 @@ void FuzzHciLayer::injectAclData(std::vector<uint8_t> data) { acl_inject_->Inject(std::make_unique<AclPacketView>(aclPacket)); } const ModuleFactory FuzzHciLayer::Factory = ModuleFactory([]() { return new FuzzHciLayer(); }); } // namespace fuzz } // namespace hci } // namespace bluetooth system/gd/hci/fuzz/fuzz_hci_layer.h +3 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,9 @@ class FuzzHciLayer : public HciLayer { return "FuzzHciLayer"; } static const ModuleFactory Factory; protected: void ListDependencies(ModuleList* list) override {} void Start() override; void Stop() override; Loading Loading
system/gd/hal/fuzz/fuzz_hci_hal.cc +2 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,8 @@ void FuzzHciHal::injectScoData(std::vector<uint8_t> data) { callbacks_->scoDataReceived(data); } const ModuleFactory FuzzHciHal::Factory = ModuleFactory([]() { return new FuzzHciHal(); }); } // namespace fuzz } // namespace hal } // namespace bluetooth
system/gd/hal/fuzz/fuzz_hci_hal.h +2 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,8 @@ class FuzzHciHal : public HciHal { return "HciHalFuzz"; } static const ModuleFactory Factory; protected: void ListDependencies(ModuleList* list) override {} void Start() override {} Loading
system/gd/hci/fuzz/acl_manager_fuzz_test.cc +5 −11 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ #include <fuzzer/FuzzedDataProvider.h> using bluetooth::TestModuleRegistry; using bluetooth::FuzzTestModuleRegistry; using bluetooth::fuzz::GetArbitraryBytes; using bluetooth::hci::AclManager; using bluetooth::hci::HciLayer; Loading @@ -38,12 +38,9 @@ using bluetooth::os::fuzz::fake_timerfd_reset; extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { FuzzedDataProvider dataProvider(data, size); static TestModuleRegistry moduleRegistry = TestModuleRegistry(); FuzzHciLayer* fuzzHci = new FuzzHciLayer(); moduleRegistry.InjectTestModule(&HciLayer::Factory, fuzzHci); fuzzHci->Start(); moduleRegistry.Start<AclManager>(&moduleRegistry.GetTestThread()); static FuzzTestModuleRegistry moduleRegistry = FuzzTestModuleRegistry(); FuzzHciLayer* fuzzHci = moduleRegistry.Inject<FuzzHciLayer>(&HciLayer::Factory); moduleRegistry.Start<AclManager>(); while (dataProvider.remaining_bytes() > 0) { const uint8_t action = dataProvider.ConsumeIntegralInRange(0, 12); Loading @@ -57,10 +54,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { } } if (!moduleRegistry.GetTestThread().GetReactor()->WaitForIdle(std::chrono::milliseconds(100))) { LOG_ERROR("idle timed out"); } moduleRegistry.StopAll(); moduleRegistry.WaitForIdleAndStopAll(); fake_timerfd_reset(); return 0; }
system/gd/hci/fuzz/fuzz_hci_layer.cc +2 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,8 @@ void FuzzHciLayer::injectAclData(std::vector<uint8_t> data) { acl_inject_->Inject(std::make_unique<AclPacketView>(aclPacket)); } const ModuleFactory FuzzHciLayer::Factory = ModuleFactory([]() { return new FuzzHciLayer(); }); } // namespace fuzz } // namespace hci } // namespace bluetooth
system/gd/hci/fuzz/fuzz_hci_layer.h +3 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,9 @@ class FuzzHciLayer : public HciLayer { return "FuzzHciLayer"; } static const ModuleFactory Factory; protected: void ListDependencies(ModuleList* list) override {} void Start() override; void Stop() override; Loading