audiopolicy: add null pointer check for primary hw
When sound card detection fails, primary HW cannot be opened.
add null pointer check to avoid further crashes in audioserver.
Bug: 136060200
Test: make
authored-by: Weiyin Jiang <wjiang@codeaurora.org>
Change-Id: Ief07a36ca8aed0e6013d533bd0aa66e122e3070c
Merged-In: Ief07a36ca8aed0e6013d533bd0aa66e122e3070c
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index f1d29a2..5b4ad22 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -472,6 +472,10 @@
std::unordered_set<audio_format_t> formatSet;
sp<HwModule> primaryModule =
mHwModules.getModuleFromName(AUDIO_HARDWARE_MODULE_ID_PRIMARY);
+ if (primaryModule == nullptr) {
+ ALOGE("%s() unable to get primary module", __func__);
+ return NO_INIT;
+ }
DeviceVector declaredDevices = primaryModule->getDeclaredDevices().getDevicesFromTypeMask(
AUDIO_DEVICE_OUT_ALL_A2DP);
for (const auto& device : declaredDevices) {