Fix use-after-free in GnssMesaurementInterface
Bug: 228639296
Test: on Cuttlefish
Change-Id: Ibd36d23f2059ae994132099dd67d8fd10f84cd72
diff --git a/gnss/aidl/default/GnssMeasurementInterface.cpp b/gnss/aidl/default/GnssMeasurementInterface.cpp
index 2c7241b..228d5bf 100644
--- a/gnss/aidl/default/GnssMeasurementInterface.cpp
+++ b/gnss/aidl/default/GnssMeasurementInterface.cpp
@@ -106,12 +106,14 @@
std::this_thread::sleep_for(std::chrono::milliseconds(mMinIntervalMillis));
}
});
- mThread.detach();
}
void GnssMeasurementInterface::stop() {
ALOGD("stop");
mIsActive = false;
+ if (mThread.joinable()) {
+ mThread.join();
+ }
}
void GnssMeasurementInterface::reportMeasurement(const GnssData& data) {