Merge cherrypicks of ['googleplex-android-review.googlesource.com/27847703'] into 24Q3-release.

Change-Id: Id7f7025ae1f9f86e553efe0ad1ac87f8c666e372
diff --git a/media/eco/ECOService.cpp b/media/eco/ECOService.cpp
index 557e24a..0dfdf0b 100644
--- a/media/eco/ECOService.cpp
+++ b/media/eco/ECOService.cpp
@@ -73,8 +73,10 @@
     SanitizeSession([&](MapIterType iter) {
         if (iter->first == newCfg) {
             std::shared_ptr<ECOSession> session = iter->second.lock();
-            foundSession = true;
-            *_aidl_return = session;
+            if (session != nullptr) {
+                foundSession = true;
+                *_aidl_return = session;
+            }
         }
     });
 
@@ -113,7 +115,9 @@
     Mutex::Autolock lock(mServiceLock);
     SanitizeSession([&](MapIterType iter) {
         std::shared_ptr<ECOSession> session = iter->second.lock();
-        _aidl_return->push_back(session->asBinder());
+        if (session != nullptr) {
+            _aidl_return->push_back(session->asBinder());
+        }
     });
     return ndk::ScopedAStatus::ok();
 }