Fix null deref in sensors 2.0 VTS teardown am: b6b28e58c4
am: 6e4370b5b6
Change-Id: Ia83ca44811b5cda68152cee2c989a533e3e43e75
diff --git a/sensors/2.0/vts/functional/SensorsHidlEnvironmentV2_0.cpp b/sensors/2.0/vts/functional/SensorsHidlEnvironmentV2_0.cpp
index be7415b..5f71654 100644
--- a/sensors/2.0/vts/functional/SensorsHidlEnvironmentV2_0.cpp
+++ b/sensors/2.0/vts/functional/SensorsHidlEnvironmentV2_0.cpp
@@ -109,11 +109,15 @@
void SensorsHidlEnvironmentV2_0::HidlTearDown() {
mStopThread = true;
- // Wake up the event queue so the poll thread can exit
- mEventQueueFlag->wake(asBaseType(EventQueueFlagBits::READ_AND_PROCESS));
- mPollThread.join();
+ if (mEventQueueFlag != nullptr) {
+ // Wake up the event queue so the poll thread can exit
+ mEventQueueFlag->wake(asBaseType(EventQueueFlagBits::READ_AND_PROCESS));
+ if (mPollThread.joinable()) {
+ mPollThread.join();
+ }
- EventFlag::deleteEventFlag(&mEventQueueFlag);
+ EventFlag::deleteEventFlag(&mEventQueueFlag);
+ }
}
void SensorsHidlEnvironmentV2_0::startPollingThread() {