Fix null deref in sensors 2.0 VTS teardown

Avoid attempting to clean up resources that were never initialized, e.g.
if the target device doesn't support the version of the HAL in question.

Fixes: 134911861
Test: run VtsHalSensorsV2_0Target on device that only supports HAL v1.0
Change-Id: I6b529fae13b1347d533a19e04f1c7748bcda961b
This commit is contained in:
Brian Duddie
2019-06-10 09:14:14 -07:00
parent 22f6dcec7e
commit b6b28e58c4

View File

@@ -109,11 +109,15 @@ bool SensorsHidlEnvironmentV2_0::resetHal() {
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() {