summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Duddie <bduddie@google.com>2019-06-06 16:43:41 -0700
committerBrian Duddie <bduddie@google.com>2019-07-01 17:52:50 +0000
commit8bbd6f4f0d222b64496f7bda25d123c70dbf3e6c (patch)
tree4a90f2be910bf42178f0b96cf942aae6ca58a5f6
parentab9e462966dfb738d9b4f00ed73ecbb8ad6c2df5 (diff)
downloadnative-8bbd6f4f0d222b64496f7bda25d123c70dbf3e6c.tar.gz
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
-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 5840d51079..96d5eb9d1f 100644
--- a/libs/sensor/SensorManager.cpp
+++ b/libs/sensor/SensorManager.cpp
@@ -94,7 +94,7 @@ SensorManager& SensorManager::getInstanceForPackage(const String16& packageName)
SensorManager::SensorManager(const String16& opPackageName)
: mSensorList(nullptr), mOpPackageName(opPackageName), mDirectConnectionHandle(1) {
- // okay we're not locked here, but it's not needed during construction
+ Mutex::Autolock _l(mLock);
assertStateLocked();
}