Audio policy: fix crash in absence of spatializer
Check for null pointer when registering the callback for
the spatializer.
Bug: 188502620
Test: boot w/o crashing on device w/o spatializer support
Change-Id: I71a1e31e00cf513aafafcb341b79d70859ce7f1b
diff --git a/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp b/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
index 58359be..327d167 100644
--- a/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
+++ b/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
@@ -2210,8 +2210,11 @@
media::GetSpatializerResponse* _aidl_return) {
_aidl_return->spatializer = nullptr;
LOG_ALWAYS_FATAL_IF(callback == nullptr);
- RETURN_IF_BINDER_ERROR(binderStatusFromStatusT(mSpatializer->registerCallback(callback)));
- _aidl_return->spatializer = mSpatializer;
+ if (mSpatializer != nullptr) {
+ RETURN_IF_BINDER_ERROR(
+ binderStatusFromStatusT(mSpatializer->registerCallback(callback)));
+ _aidl_return->spatializer = mSpatializer;
+ }
return Status::ok();
}