Integer-overflow in webrtc::LowCutFilter::BiquadFilter::Process |
|||||
Issue descriptionDetailed report: https://clusterfuzz.com/testcase?key=5967468140167168 Fuzzer: libFuzzer_audio_processing_fuzzer Job Type: libfuzzer_chrome_ubsan Platform Id: linux Crash Type: Integer-overflow Crash Address: Crash State: webrtc::LowCutFilter::BiquadFilter::Process webrtc::LowCutFilter::Process webrtc::AudioProcessingImpl::ProcessCaptureStreamLocked Sanitizer: undefined (UBSAN) Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_ubsan&range=481133:481204 Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5967468140167168 Issue filed automatically. See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reproducing.md for more information.
,
Jul 24 2017
The following revision refers to this bug: https://chromium.googlesource.com/external/webrtc.git/+/e029d99f19dbb13c962d6fe4ceadf6f461aeaccf commit e029d99f19dbb13c962d6fe4ceadf6f461aeaccf Author: Alex Loiko <aleloi@webrtc.org> Date: Mon Jul 24 11:03:46 2017 Integer overflow bug in low_cut_filter. A multiplication result doesn't fit in an int32_t type. This change rewrites the code to avoid the overflowing multiplication. Here y[0], y[1] are int16 numbers containing the (truncated) topmost 18 and (scaled Q2 to use the full int16) the least significant 13 bits of a 32-bit value. The change makes y[1] to be calculated directly instead of using y[0] as an intermediate value. TESTED=this change passes the bit exactness tests, and has also been running on the audio_processing fuzzer with a CHECK comparing the old and new value. Bug: chromium:747202 Change-Id: Iafc69eb7391d494afdadf65f5b7f399a57bbe9a8 Reviewed-on: https://chromium-review.googlesource.com/580907 Reviewed-by: Minyue Li <minyue@webrtc.org> Commit-Queue: Alex Loiko <aleloi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#19120} [modify] https://crrev.com/e029d99f19dbb13c962d6fe4ceadf6f461aeaccf/webrtc/modules/audio_processing/low_cut_filter.cc
,
Jul 26 2017
,
Aug 2 2017
ClusterFuzz testcase 5967468140167168 is still reproducing on tip-of-tree build (trunk). Please re-test your fix against this testcase and if the fix was incorrect or incomplete, please re-open the bug. Otherwise, ignore this notification and add ClusterFuzz-Wrong label.
,
Aug 4 2017
ClusterFuzz has detected this issue as fixed in range 491697:491738. Detailed report: https://clusterfuzz.com/testcase?key=5967468140167168 Fuzzer: libFuzzer_audio_processing_fuzzer Job Type: libfuzzer_chrome_ubsan Platform Id: linux Crash Type: Integer-overflow Crash Address: Crash State: webrtc::LowCutFilter::BiquadFilter::Process webrtc::LowCutFilter::Process webrtc::AudioProcessingImpl::ProcessCaptureStreamLocked Sanitizer: undefined (UBSAN) Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_ubsan&range=481133:481204 Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_ubsan&range=491697:491738 Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5967468140167168 See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reproducing.md for more information. If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
,
Aug 4 2017
ClusterFuzz testcase 5967468140167168 is verified as fixed, so closing issue as verified. If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
,
Aug 10 2017
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by msrchandra@chromium.org
, Jul 21 2017Components: Blink>WebRTC
Labels: M-61 Test-Predator-Wrong-CLs
Owner: aleloi@chromium.org
Status: Assigned (was: Untriaged)