summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Boström <pbos@chromium.org>2023-02-24 00:33:06 +0000
committerMichael Brüning <michael.bruning@qt.io>2023-03-24 14:07:06 +0000
commita0c7fae43ffc4eb8da280e20bdf5c849df251130 (patch)
tree68e90beaf4a8a8df60baaa7fca0ff905c051c096
parentb67e4f21fb9418b2926e0918b4a768bfe7602c92 (diff)
downloadqtwebengine-chromium-a0c7fae43ffc4eb8da280e20bdf5c849df251130.tar.gz
[Backport] Security bug 1418734
Cherry-pick of patch originally reviewed on https://chromium-review.googlesource.com/c/chromium/src/+/4288168: Convert known it != end() DCHECK failures to CHECK M102 merge issues: third_party/blink/renderer/core/annotation/annotation_agent_impl.cc is not present in 102 These have hit on DCHECK builds in the wild and precede erasing or dereferencing an iterator that is UB. This CL excludes DCHECK failures that precede non-DCHECK handling of the it != end() failures. Those should probably be rewritten as CHECKs but are less urgent and semi-orthogonal. Known crashes (one per file) are: crash/dc49e3cadab36d4c crash/0ee3427d25937024 crash/b89303e84d123019 crash/cc35183b861a4992 Bug: 1418734 Change-Id: I81ed7b45be33769e250c65c8bb7334a34be4380e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4288168 Commit-Queue: Peter Boström <pbos@chromium.org> Cr-Commit-Position: refs/heads/main@{#1109350} (cherry picked from commit 1aec0b297900a7b59bd24314dff239f3c5697f45) Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/468621 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
-rw-r--r--chromium/base/scoped_multi_source_observation.h2
-rw-r--r--chromium/cc/tiles/gpu_image_decode_cache.cc4
-rw-r--r--chromium/ui/base/interaction/element_tracker_mac.mm2
3 files changed, 4 insertions, 4 deletions
diff --git a/chromium/base/scoped_multi_source_observation.h b/chromium/base/scoped_multi_source_observation.h
index fe2f2c7a079..5a8b0fc5d83 100644
--- a/chromium/base/scoped_multi_source_observation.h
+++ b/chromium/base/scoped_multi_source_observation.h
@@ -68,7 +68,7 @@ class ScopedMultiSourceObservation {
// Remove the object passed to the constructor as an observer from |source|.
void RemoveObservation(Source* source) {
auto it = base::ranges::find(sources_, source);
- DCHECK(it != sources_.end());
+ CHECK(it != sources_.end());
sources_.erase(it);
(source->*RemoveObsFn)(observer_);
}
diff --git a/chromium/cc/tiles/gpu_image_decode_cache.cc b/chromium/cc/tiles/gpu_image_decode_cache.cc
index e9b6f98615b..bf14f655b11 100644
--- a/chromium/cc/tiles/gpu_image_decode_cache.cc
+++ b/chromium/cc/tiles/gpu_image_decode_cache.cc
@@ -1340,8 +1340,8 @@ Iterator GpuImageDecodeCache::RemoveFromPersistentCache(Iterator it) {
}
auto entries_it = paint_image_entries_.find(it->second->paint_image_id);
- DCHECK(entries_it != paint_image_entries_.end());
- DCHECK_GT(entries_it->second.count, 0u);
+ CHECK(entries_it != paint_image_entries_.end());
+ CHECK_GT(entries_it->second.count, 0u);
// If this is the last entry for this image, remove its tracking.
--entries_it->second.count;
diff --git a/chromium/ui/base/interaction/element_tracker_mac.mm b/chromium/ui/base/interaction/element_tracker_mac.mm
index b29ae9babb0..4d495fc36bb 100644
--- a/chromium/ui/base/interaction/element_tracker_mac.mm
+++ b/chromium/ui/base/interaction/element_tracker_mac.mm
@@ -50,7 +50,7 @@ class ElementTrackerMac::ContextData {
void ActivateElement(ElementIdentifier identifier) {
const auto it = elements_.find(identifier);
- DCHECK(it != elements_.end());
+ CHECK(it != elements_.end());
ui::ElementTracker::GetFrameworkDelegate()->NotifyElementActivated(
it->second.get());
}