summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Duddie <bduddie@google.com>2019-06-06 16:43:41 -0700
committerKevin F. Haggerty <haggertk@lineageos.org>2019-09-05 21:22:42 -0600
commit4fb3e5d7ec2b3a068bd5ac81e1b43b776cc4559e (patch)
treecc6272a8461741474ee7222a0d6c72ceb5429b34
parent84b35220d2a3754514b6bf9cd9bb689825756ec0 (diff)
downloadandroid_frameworks_native-4fb3e5d7ec2b3a068bd5ac81e1b43b776cc4559e.tar.gz
android_frameworks_native-4fb3e5d7ec2b3a068bd5ac81e1b43b776cc4559e.tar.bz2
android_frameworks_native-4fb3e5d7ec2b3a068bd5ac81e1b43b776cc4559e.zip
Fix race between SensorManager ctor and callback
Avoids potential invalid memory access if system server crashes during initialization. Bug: 132927376 Test: confirm sensors initialize Change-Id: If7421c452b5893ab2567323d265503a1ce304482 Merged-In: If7421c452b5893ab2567323d265503a1ce304482 (cherry picked from commit 231a12189b2b820843ebf5d002876a23e0890c09)
-rw-r--r--libs/sensor/SensorManager.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/sensor/SensorManager.cpp b/libs/sensor/SensorManager.cpp
index 6fe72a13b..5fbaf1bf1 100644
--- a/libs/sensor/SensorManager.cpp
+++ b/libs/sensor/SensorManager.cpp
@@ -93,7 +93,7 @@ SensorManager& SensorManager::getInstanceForPackage(const String16& packageName)
SensorManager::SensorManager(const String16& opPackageName)
: mSensorList(0), mOpPackageName(opPackageName), mDirectConnectionHandle(1) {
- // okay we're not locked here, but it's not needed during construction
+ Mutex::Autolock _l(mLock);
assertStateLocked();
}