You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The code for storing and removing access locks relied on the
(incorrect) assumption that one can store an iterator to an element
inside a container (or rather, a container inside a container), add more
elements, and then expect the iterator to still be valid.
In practice, however, the Visual C++ runtime will reallocate the
entirety of the storage after only two lock requests, which results in
a crash when visiting Facebook while logged in.
This change modifies the code to remove any storage of iterators, and
replaces it with a more expensive, but safe, string lookup followed
by an iteration through a list. This should not cause any significant
slowdown, however, since the elements stored inside these containers
are very short-lived, and low in number.
Fixes: QTBUG-133093
Change-Id: I3870109cd047b761ac2cdacfe4164cd59182fd1d
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/619468
Reviewed-by: Peter Varga <[email protected]>
(cherry picked from commit 71353f2)
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/620292
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
0 commit comments