Integer-overflow in FindNearestLegacyFontSize<int> |
||||
Issue descriptionDetailed report: https://clusterfuzz.com/testcase?key=5133136909041664 Fuzzer: ifratric-browserfuzzer-v3 Job Type: linux_ubsan_chrome Platform Id: linux Crash Type: Integer-overflow Crash Address: Crash State: FindNearestLegacyFontSize<int> blink::FontSizeFunctions::LegacyFontSize blink::LegacyFontSizeFromCSSValue Sanitizer: undefined (UBSAN) Regressed: https://clusterfuzz.com/revisions?job=linux_ubsan_chrome&range=370022:370027 Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5133136909041664 Issue filed automatically. See https://github.com/google/clusterfuzz-tools for more information.
,
Feb 8 2018
As per triage process assigning to TL. Also rerunning fuzzer task to get a regression CL
,
Feb 8 2018
Route to editing because FindNearestLegacyFontSize<int> used only in editing/
and it should not use |int| as font size.
Caused by font: calc(2147483648em)/calc(-32769px)
2147483648 = 0x80000000
We should change |int pixel_font_size| to |float pixel_font_size| in following code:
int LegacyFontSizeFromCSSValue(Document* document,
const CSSValue* value,
bool is_monospace_font,
LegacyFontSizeMode mode) {
....
int pixel_font_size =
clampTo<int>(primitive_value.GetDoubleValue() * conversion);
int legacy_font_size = FontSizeFunctions::LegacyFontSize(
document, pixel_font_size, is_monospace_font);
and change FontSizeFunctions::LegacyFontSize() to take |float pixel_font_size|.
,
Oct 18
ClusterFuzz has detected this issue as fixed in range 600341:600342. Detailed report: https://clusterfuzz.com/testcase?key=5133136909041664 Fuzzer: ifratric-browserfuzzer-v3 Job Type: linux_ubsan_chrome Platform Id: linux Crash Type: Integer-overflow Crash Address: Crash State: FindNearestLegacyFontSize<int> blink::FontSizeFunctions::LegacyFontSize blink::LegacyFontSizeFromCSSValue Sanitizer: undefined (UBSAN) Regressed: https://clusterfuzz.com/revisions?job=linux_ubsan_chrome&range=370022:370027 Fixed: https://clusterfuzz.com/revisions?job=linux_ubsan_chrome&range=600341:600342 Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5133136909041664 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.
,
Oct 18
ClusterFuzz testcase 5133136909041664 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 ClusterFuzz
, Feb 8 2018Labels: Test-Predator-Auto-Components