New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 813340 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Mar 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Integer-overflow in blink::CompositedLayerMapping::UpdateTransformGeometry

Project Member Reported by ClusterFuzz, Feb 17 2018

Issue description

Detailed report: https://clusterfuzz.com/testcase?key=5076521254125568

Fuzzer: inferno_twister
Job Type: linux_ubsan_chrome
Platform Id: linux

Crash Type: Integer-overflow
Crash Address: 
Crash State:
  blink::CompositedLayerMapping::UpdateTransformGeometry
  blink::PaintLayerCompositor::UpdateIfNeeded
  blink::PaintLayerCompositor::UpdateIfNeededRecursiveInternal
  
Sanitizer: undefined (UBSAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_ubsan_chrome&range=532649:532651

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5076521254125568

Issue filed automatically.

See https://github.com/google/clusterfuzz-tools for more information.
 
Project Member

Comment 1 by ClusterFuzz, Feb 17 2018

Components: Blink>Compositing
Labels: Test-Predator-Auto-Components
Automatically applying components based on crash stacktrace and information from OWNERS files.

If this is incorrect, please apply the Test-Predator-Wrong-Components label.
Project Member

Comment 2 by ClusterFuzz, Feb 17 2018

Labels: Test-Predator-Auto-Owner
Owner: trchen@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/chromium/src/+/f89ae106e06d15200d783cb6950961ba999edebe ([Blink/SPv1] Move composited clip-path to share layer with masks).

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label. If you aren't the correct owner for this issue, please unassign yourself as soon as possible so it can be re-triaged.

Comment 3 by trchen@chromium.org, Feb 28 2018

Status: Started (was: Assigned)
Fix pending: https://chromium-review.googlesource.com/c/chromium/src/+/940532
Project Member

Comment 4 by bugdroid1@chromium.org, Mar 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a8768c2cd0aea923b6ee86077e3b608518b44e2d

commit a8768c2cd0aea923b6ee86077e3b608518b44e2d
Author: Tien-Ren Chen <trchen@chromium.org>
Date: Sun Mar 04 09:26:28 2018

[Blink] Clamp clip path bounds to LayoutRect::InfiniteIntRect()

Extreme clip path values can create numerical issues including integer
overflow, which is undefined behavior. This CL clamps clip path bounds
to some sane value early in the pipeline.

BUG= 813340 

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Ie35ea2899b7103ed36ba42f0c78711811b253e60
Reviewed-on: https://chromium-review.googlesource.com/942303
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Tien-Ren Chen <trchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540770}
[modify] https://crrev.com/a8768c2cd0aea923b6ee86077e3b608518b44e2d/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/a8768c2cd0aea923b6ee86077e3b608518b44e2d/third_party/WebKit/Source/core/paint/ClipPathClipper.cpp
[modify] https://crrev.com/a8768c2cd0aea923b6ee86077e3b608518b44e2d/third_party/WebKit/Source/core/paint/ClipPathClipper.h
[add] https://crrev.com/a8768c2cd0aea923b6ee86077e3b608518b44e2d/third_party/WebKit/Source/core/paint/ClipPathClipperTest.cpp

Project Member

Comment 5 by ClusterFuzz, Mar 5 2018

ClusterFuzz has detected this issue as fixed in range 540769:540770.

Detailed report: https://clusterfuzz.com/testcase?key=5076521254125568

Fuzzer: inferno_twister
Job Type: linux_ubsan_chrome
Platform Id: linux

Crash Type: Integer-overflow
Crash Address: 
Crash State:
  blink::CompositedLayerMapping::UpdateTransformGeometry
  blink::PaintLayerCompositor::UpdateIfNeeded
  blink::PaintLayerCompositor::UpdateIfNeededRecursiveInternal
  
Sanitizer: undefined (UBSAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_ubsan_chrome&range=532649:532651
Fixed: https://clusterfuzz.com/revisions?job=linux_ubsan_chrome&range=540769:540770

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5076521254125568

See https://github.com/google/clusterfuzz-tools for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Project Member

Comment 6 by ClusterFuzz, Mar 5 2018

Labels: ClusterFuzz-Verified
Status: Verified (was: Started)
ClusterFuzz testcase 5076521254125568 is verified as fixed, so closing issue as verified.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.

Sign in to add a comment