From 5d165e188327e890a349b6896ae3516a4fc55f40 Mon Sep 17 00:00:00 2001 From: John Thiltges Date: Mon, 13 Dec 2021 10:26:51 -0600 Subject: [PATCH] [XrdSciTokens] Modifying std::map invalidates iterator --- src/XrdSciTokens/XrdSciTokensAccess.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/XrdSciTokens/XrdSciTokensAccess.cc b/src/XrdSciTokens/XrdSciTokensAccess.cc index 29dcfacfb7b..899c643ff68 100644 --- a/src/XrdSciTokens/XrdSciTokensAccess.cc +++ b/src/XrdSciTokens/XrdSciTokensAccess.cc @@ -959,9 +959,11 @@ class XrdAccSciTokens : public XrdAccAuthorize, public XrdSciTokensHelper if (now <= m_next_clean) {return;} std::lock_guard guard(m_mutex); - for (auto iter = m_map.begin(); iter != m_map.end(); iter++) { + for (auto iter = m_map.begin(); iter != m_map.end(); ) { if (iter->second->expired()) { - m_map.erase(iter); + iter = m_map.erase(iter); + } else { + ++iter; } } Reconfig();