Merge "SecurityManager: Don't use iterator after erase()"
diff --git a/gd/security/internal/security_manager_impl.cc b/gd/security/internal/security_manager_impl.cc
index 92556c3..7e64dc7 100644
--- a/gd/security/internal/security_manager_impl.cc
+++ b/gd/security/internal/security_manager_impl.cc
@@ -92,8 +92,9 @@
void SecurityManagerImpl::CancelBond(hci::AddressWithType device) {
auto entry = pairing_handler_map_.find(device.GetAddress());
if (entry != pairing_handler_map_.end()) {
+ auto cancel_me = entry->second;
pairing_handler_map_.erase(entry);
- entry->second->Cancel();
+ cancel_me->Cancel();
}
}