AudioSystem: Ensure no nullptr access
Brute force nullptr check for safety. A warning is
issued if nullptr is found, but it should not occur.
Flag: EXEMPT bugfix
Test: for run in {1..100}; do (sleep 8; echo $run; adb shell pkill audioserver); done
Bug: 379427790
Change-Id: I3ba7a89ecfaf35b658de9477e3f27dc3a59352b2
diff --git a/media/libaudioclient/AudioSystem.cpp b/media/libaudioclient/AudioSystem.cpp
index e3a96f5..8094d07 100644
--- a/media/libaudioclient/AudioSystem.cpp
+++ b/media/libaudioclient/AudioSystem.cpp
@@ -151,7 +151,11 @@
{
std::lock_guard l(mMutex);
mValid = false;
- mClient->clearIoCache();
+ if (mClient) {
+ mClient->clearIoCache();
+ } else {
+ ALOGW("%s: null client", __func__);
+ }
}
AudioSystem::reportError(DEAD_OBJECT);
}
@@ -1004,7 +1008,11 @@
mValid = false;
client = mClient;
}
- client->onServiceDied();
+ if (client) {
+ client->onServiceDied();
+ } else {
+ ALOGW("%s: null client", __func__);
+ }
}
static constexpr mediautils::ServiceOptions options() {