summaryrefslogtreecommitdiff
path: root/libs/sensor/SensorManager.cpp
diff options
context:
space:
mode:
authorDevin Moore <devinmoore@google.com>2023-02-17 19:35:25 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-03-28 18:43:50 +0000
commitedb3f8e57fc25d3b0abd8cfc601cea814e90fcce (patch)
tree5630d1e35bc7211518c1cb4223f15a3c246a4eaf /libs/sensor/SensorManager.cpp
parentfb4585b3dc8e5015dc91469ae004337601172aa9 (diff)
Remove some new memory leaks from SensorManager
After catching an error in Sensor::unflatten, there are memory leaks caught by the fuzzer in the same test case. Test: libsensorserviceaidl_fuzzer with testcase from bug Bug: 269014004 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:c95fa0f0e7c7b73746ff850b85a79fc5f92b784e) Merged-In: I509cceb41f56ca117d9475f6f6674244560fe582 Change-Id: I509cceb41f56ca117d9475f6f6674244560fe582
Diffstat (limited to 'libs/sensor/SensorManager.cpp')
-rw-r--r--libs/sensor/SensorManager.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/libs/sensor/SensorManager.cpp b/libs/sensor/SensorManager.cpp
index 0ba9704263..c0525d4f5d 100644
--- a/libs/sensor/SensorManager.cpp
+++ b/libs/sensor/SensorManager.cpp
@@ -166,6 +166,11 @@ status_t SensorManager::assertStateLocked() {
mSensors = mSensorServer->getSensorList(mOpPackageName);
size_t count = mSensors.size();
+ if (count == 0) {
+ ALOGE("Failed to get Sensor list");
+ mSensorServer.clear();
+ return UNKNOWN_ERROR;
+ }
mSensorList =
static_cast<Sensor const**>(malloc(count * sizeof(Sensor*)));
LOG_ALWAYS_FATAL_IF(mSensorList == nullptr, "mSensorList NULL");