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

Issue 858989 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Last visit 19 days ago
Closed: Jul 4
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Integer-overflow in WebRtcAgc_ProcessDigital

Project Member Reported by ClusterFuzz, Jun 29 2018

Issue description

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

Fuzzer: libFuzzer_agc_fuzzer
Job Type: libfuzzer_chrome_ubsan
Platform Id: linux

Crash Type: Integer-overflow
Crash Address: 
Crash State:
  WebRtcAgc_ProcessDigital
  WebRtcAgc_Process
  webrtc::GainControlImpl::ProcessCaptureAudio
  
Sanitizer: undefined (UBSAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_ubsan&range=569334:569350

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

Issue filed automatically.

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reference.md for more information.
 
Project Member

Comment 1 by ClusterFuzz, Jun 29 2018

Cc: kwiberg@webrtc.org mflodman@webrtc.org henrika@webrtc.org
Labels: ClusterFuzz-Auto-CC
Automatically adding ccs based on OWNERS file / target commit history.

If this is incorrect, please add ClusterFuzz-Wrong label.
Project Member

Comment 2 by ClusterFuzz, Jun 29 2018

Cc: saza@webrtc.org
Labels: Test-Predator-Auto-CC
Automatically adding ccs based on suspected regression changelists:

Add AGC1 fuzzer by saza@webrtc.org - https://webrtc.googlesource.com/src/+/f341f3feb505733ef57a8ddf9571b6b462a44e91

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label.
Cc: -saza@webrtc.org
Owner: saza@chromium.org
Status: Assigned (was: Untriaged)
Components: Blink>WebRTC>Audio
Status: Started (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 3

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/46f858a626d53825edde1d74573e4f38195a4546

commit 46f858a626d53825edde1d74573e4f38195a4546
Author: Sam Zackrisson <saza@webrtc.org>
Date: Tue Jul 03 09:56:34 2018

Fix fuzzer-found overflow in AGC1

Much like https://bugs.chromium.org/p/chromium/issues/detail?id=855900,
the int32 gain table isn't always small enough for plain multiplication
with an int16.

This appears fixable through regular fixed-point arithmetic (multiply
out[i][n] by integer and fractional part of gain separately), but it's
less readable.

Bug:  chromium:858989 
Change-Id: Ie5aac25fd0cca4e51858cba69bde06c54a5d31bf
Reviewed-on: https://webrtc-review.googlesource.com/86602
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23815}
[modify] https://crrev.com/46f858a626d53825edde1d74573e4f38195a4546/modules/audio_processing/agc/legacy/digital_agc.c

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 3

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

commit 3ba25f1d9d8bf66b9f1ec80a68f3234d726c571c
Author: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Tue Jul 03 14:06:29 2018

Roll src/third_party/webrtc a8eb1e619eb9..46f858a626d5 (1 commits)

https://webrtc.googlesource.com/src.git/+log/a8eb1e619eb9..46f858a626d5


git log a8eb1e619eb9..46f858a626d5 --date=short --no-merges --format='%ad %ae %s'
2018-07-03 saza@webrtc.org Fix fuzzer-found overflow in AGC1


Created with:
  gclient setdep -r src/third_party/webrtc@46f858a626d5

The AutoRoll server is located here: https://webrtc-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux_chromium_archive_rel_ng;master.tryserver.chromium.mac:mac_chromium_archive_rel_ng

BUG= chromium:858989 
TBR=webrtc-chromium-sheriffs-robots@google.com

Change-Id: I7ea35823c1825b0742baa259ae6e6bb84a0959b8
Reviewed-on: https://chromium-review.googlesource.com/1124420
Reviewed-by: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#572197}
[modify] https://crrev.com/3ba25f1d9d8bf66b9f1ec80a68f3234d726c571c/DEPS

Project Member

Comment 7 by ClusterFuzz, Jul 4

ClusterFuzz has detected this issue as fixed in range 572194:572197.

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

Fuzzer: libFuzzer_agc_fuzzer
Job Type: libfuzzer_chrome_ubsan
Platform Id: linux

Crash Type: Integer-overflow
Crash Address: 
Crash State:
  WebRtcAgc_ProcessDigital
  WebRtcAgc_Process
  webrtc::GainControlImpl::ProcessCaptureAudio
  
Sanitizer: undefined (UBSAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_ubsan&range=569334:569350
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_ubsan&range=572194:572197

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

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reference.md for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Status: Verified (was: Started)

Sign in to add a comment