From 6c3a8611b5fe7180241ea1fbbb4dce741b4984b1 Mon Sep 17 00:00:00 2001 From: shahargk8 <86890863+shahargk8@users.noreply.github.com> Date: Wed, 6 Jul 2022 15:17:29 +0300 Subject: [PATCH] dangeling pointer: Delete iterator in iteration https://en.cppreference.com/w/cpp/container/map/erase "References and iterators to the erased elements are invalidated. Other references and iterators are not affected. ' --- src/webdriver/webdriver_session.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/webdriver/webdriver_session.cc b/src/webdriver/webdriver_session.cc index 3f1b4af8..385aa80c 100644 --- a/src/webdriver/webdriver_session.cc +++ b/src/webdriver/webdriver_session.cc @@ -501,9 +501,9 @@ void Session::UpdateViews(const std::set& views) { ViewsMap::iterator it; ViewId vi; - for (it = views_.begin(); it != views_.end(); ++it) { + for (it = views_.begin(); it != views_.end();) { vi = ViewId(it->first); - + ++it; if (vi.is_valid() && 0 == views.count(vi)) { // invalidate handle RemoveView(vi);