Integer-overflow in walk_convex_edges |
|||||
Issue descriptionDetailed report: https://cluster-fuzz.appspot.com/testcase?key=5303323923316736 Fuzzer: ifratric-browserfuzzer-v3 Job Type: linux_ubsan_chrome Platform Id: linux Crash Type: Integer-overflow Crash Address: Crash State: walk_convex_edges sk_fill_path SkScan::FillPath Sanitizer: undefined (UBSAN) Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_ubsan_chrome&range=398502:398570 Minimized Testcase (0.30 Kb): https://cluster-fuzz.appspot.com/download/AMIfv96y6DW3MjhvcWllf8-emozqjRnspOUte6-rFDmVgCINMSo73MoZTlzz11MVTlDTLxEm8ZCNm220Z3HmZZ_UPYlMHeX6QHwv45S4pC2BZ6hQFCQnXU2ymCYZSsNyQfkrw9d6HvPkH2O2htCL6Lk2eKaQq2AwXQ?testcase_id=5303323923316736 Issue filed automatically. See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
,
Feb 2 2017
Please see https://skia-review.googlesource.com/c/7945/ for the unit test to reproduce this problem. This problem is more related to quad/conic than AA as the unit test is in non-AA mode.
,
Feb 2 2017
I've heard conflicting opinions about how the team should handle integer-overflow. I have no interest in working on this.
,
Feb 2 2017
,
Feb 2 2017
do {
int L = SkFixedRoundToInt(left);
int R = SkFixedRoundToInt(rite);
if (L < R) {
blitter->blitH(L, local_top, R - L);
}
left += dLeft;
rite += dRite;
local_top += 1;
} while (--count >= 0);
I posit that count might be zero when this overflow happens...
,
Feb 2 2017
Correct, if I remember correctly, count == 0 and fCurveCount == 7.
,
Jul 30 2017
Detailed report: https://clusterfuzz.com/testcase?key=6016465059971072 Job Type: linux_ubsan_chrome Crash Type: Integer-overflow Crash Address: Crash State: walk_convex_edges sk_fill_path SkScan::FillPath Sanitizer: undefined (UBSAN) Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=6016465059971072 See https://github.com/google/clusterfuzz-tools for more information.
,
Jul 30 2017
Detailed report: https://clusterfuzz.com/testcase?key=6016465059971072 Job Type: linux_ubsan_chrome Crash Type: Integer-overflow Crash Address: Crash State: walk_convex_edges sk_fill_path SkScan::FillPath Sanitizer: undefined (UBSAN) Regressed: https://clusterfuzz.com/revisions?job=linux_ubsan_chrome&range=398502:398570 Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=6016465059971072 See https://github.com/google/clusterfuzz-tools for more information.
,
Oct 12 2017
ClusterFuzz testcase 6016465059971072 is flaky and no longer crashes, so closing issue. If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by mummare...@chromium.org
, Feb 2 2017Components: Internals>Skia
Labels: Test-Predator-Wrong M-56