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

Issue 757168 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Integer-overflow in cc::Animation::ConvertToActiveTime

Project Member Reported by ClusterFuzz, Aug 19 2017

Issue description

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

Fuzzer: inferno_twister
Job Type: linux_ubsan_chrome
Platform Id: linux

Crash Type: Integer-overflow
Crash Address: 
Crash State:
  cc::Animation::ConvertToActiveTime
  cc::Animation::InEffect
  cc::AnimationPlayer::GetPropertyAnimationState
  
Sanitizer: undefined (UBSAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_ubsan_chrome&range=488635:489609

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

Issue filed automatically.

See https://github.com/google/clusterfuzz-tools for more information.
 
Cc: msrchandra@chromium.org sandeepkumars@chromium.org
Labels: M-62 Test-Predator-Wrong-CLs
Owner: m...@chromium.org
Status: Assigned (was: Untriaged)
Predator and CL could not provide any possible suspects.
Using Code Search for the file, "animation.cc" assigning to the concern owner who might be related.

Suspecting Commit#
https://chromium.googlesource.com/chromium/src/+/d061176d905278c4090dd8671e61a2a7cfde6e63

@miu -- Could you please look into the issue, kindly re-assign if this is not related to your changes.
Thank You.

Project Member

Comment 2 by ClusterFuzz, Oct 1 2017

Components: Internals>Compositing>Animation
Labels: Test-Predator-AutoComponents
Automatically applying components based on information from OWNERS files. If this seems incorrect, please apply the Test-Predator-Wrong-Components label.

Comment 3 by m...@chromium.org, Oct 3 2017

Cc: m...@chromium.org
Owner: loyso@chromium.org
Looks like this method doesn't do a saturated subtraction:

  TimeDelta TimeBase<TimeClass>::operator-(TimeClass other) const

But a similar one does:

  TimeClass TimeBase<TimeClass>::operator-(TimeDelta delta) const

Was probably an oversight by the original changes that introduced the saturated math protections.

However, this is not to say the fuzzer-found bug is in the time library: It's strange that the cc::Animation code would blindly accept/process bad time values. So, it's probably best that loyso@ (src/cc/animation/OWNERS) take a look first.
Labels: -Test-Predator-AutoComponents Test-Predator-Auto-Components
Project Member

Comment 5 by ClusterFuzz, Jan 25 2018

ClusterFuzz has detected this issue as fixed in range 531707:531718.

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

Fuzzer: inferno_twister
Job Type: linux_ubsan_chrome
Platform Id: linux

Crash Type: Integer-overflow
Crash Address: 
Crash State:
  cc::Animation::ConvertToActiveTime
  cc::Animation::InEffect
  cc::AnimationTicker::GetPropertyAnimationState
  
Sanitizer: undefined (UBSAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_ubsan_chrome&range=488635:489609
Fixed: https://clusterfuzz.com/revisions?job=linux_ubsan_chrome&range=531707:531718

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

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, Jan 25 2018

Labels: ClusterFuzz-Verified
Status: Verified (was: Assigned)
ClusterFuzz testcase 4890501752029184 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