CHECK failure: IsStringUTF8(*string_value_) in values.cc |
||||||
Issue descriptionDetailed report: https://clusterfuzz.com/testcase?key=5113522290950144 Fuzzer: libFuzzer_mediasource_MP4_AVC1_pipeline_integration_fuzzer Job Type: libfuzzer_chrome_asan_debug Platform Id: linux Crash Type: CHECK failure Crash Address: Crash State: IsStringUTF8(*string_value_) in values.cc base::debug::DebugBreak base::Value::Value Sanitizer: address (ASAN) Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=497039:497107 Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5113522290950144 Issue filed automatically. See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reproducing.md for more information.
,
Sep 4 2017
Similarly to https://bugs.chromium.org/p/chromium/issues/detail?id=758808 this is caused by attempting to log non UTF-8 input. The offending line is https://codesearch.chromium.org/chromium/src/media/formats/mp4/box_definitions.cc?l=669&rcl=a8e0102bd7251be33d03c2b2d3d1afa1a3161921. profile_indication is a uint8_t, which the ostream operator interprets as a literal char. In the crashing case profile_indication is equal to 255 or 0xFF, which is not a valid utf8 character. This issue can be fixed by casting profile_indication to a wider integer type (e.g. static_cast<int>(profile_indication)), or wrapping it in |base::UintToString| inside the log statement. Both of these measures fix the crash and result in the desired log statement of "Unsupported VP9 profile: 255" Again assigning to wolenetz@ as //media OWNER to decide what exactly should be done.
,
Sep 5 2017
Indeed - the fuzzer found this non-UTF-8 violation in the MSE MP4 stream parser. I'll have a fix shortly. I'll see also about fixing some related logs in that file, though there could be more remaining. This is in a MEDIA_LOG, and results in hitting a DCHECK. I don't this this is P1.
,
Sep 5 2017
I only found this one non-UTF-8 log emission location when looking over box_definitions.cc today. CL: https://chromium-review.googlesource.com/c/chromium/src/+/650627
,
Sep 5 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e8597a0fb459021fa4e1e28eec4d79b5a71343cc commit e8597a0fb459021fa4e1e28eec4d79b5a71343cc Author: Matt Wolenetz <wolenetz@chromium.org> Date: Tue Sep 05 18:55:29 2017 MSE: Fix DCHECK during VPCodecConfigurationRecord parse failure Changes the VPCodecConfigurationRecord parse failure to emit a UTF-8 log string. BUG= 761595 TEST=fuzzer case avoids DCHECK Change-Id: Idae69c350bdf748a6d6f68be69c96d6dd4309b51 Reviewed-on: https://chromium-review.googlesource.com/650627 Commit-Queue: Matthew Wolenetz <wolenetz@chromium.org> Commit-Queue: Chrome Cunningham <chcunningham@chromium.org> Reviewed-by: Chrome Cunningham <chcunningham@chromium.org> Cr-Commit-Position: refs/heads/master@{#499692} [modify] https://crrev.com/e8597a0fb459021fa4e1e28eec4d79b5a71343cc/media/formats/mp4/box_definitions.cc
,
Sep 5 2017
#5 should fix this. Pending CF verification...
,
Sep 5 2017
ClusterFuzz has detected this issue as fixed in range 499660:499726. Detailed report: https://clusterfuzz.com/testcase?key=5113522290950144 Fuzzer: libFuzzer_mediasource_MP4_AVC1_pipeline_integration_fuzzer Job Type: libfuzzer_chrome_asan_debug Platform Id: linux Crash Type: CHECK failure Crash Address: Crash State: IsStringUTF8(*string_value_) in values.cc base::debug::DebugBreak base::Value::Value Sanitizer: address (ASAN) Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=497039:497107 Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=499660:499726 Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5113522290950144 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.
,
Sep 6 2017
ClusterFuzz testcase 5113522290950144 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 |
||||||
Comment 1 by msrchandra@chromium.org
, Sep 4 2017Labels: Test-Predator-Wrong-CLs M-63
Owner: jdoerrie@chromium.org
Status: Assigned (was: Untriaged)