From b3cefe3a5115e14e81d2badc622e483ab620bb51 Mon Sep 17 00:00:00 2001 From: Brian Duddie Date: Wed, 1 May 2024 14:21:01 -0700 Subject: [PATCH] Prevent event flag use after delete in example HAL Fixes: 323085916 Test: presubmit Change-Id: Ia455d7f83ff2b0056593eabf9f91359b97f9fc0b --- sensors/aidl/default/include/sensors-impl/Sensors.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sensors/aidl/default/include/sensors-impl/Sensors.h b/sensors/aidl/default/include/sensors-impl/Sensors.h index e270d9682e..2adbc9dfb4 100644 --- a/sensors/aidl/default/include/sensors-impl/Sensors.h +++ b/sensors/aidl/default/include/sensors-impl/Sensors.h @@ -119,6 +119,8 @@ class Sensors : public BnSensors, public ISensorsEventCallback { // Utility function to delete the Event Flag void deleteEventFlag() { + // Hold the lock to ensure we don't delete the flag while it's being used in postEvents() + std::lock_guard lock(mWriteLock); if (mEventQueueFlag != nullptr) { status_t status = EventFlag::deleteEventFlag(&mEventQueueFlag); if (status != OK) {