| Summary: | crash in WebCore::Cairo::strokePath | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | SUNG <tadinhsung> | ||||||||||
| Component: | Platform | Assignee: | Nobody <webkit-unassigned> | ||||||||||
| Status: | RESOLVED DUPLICATE | ||||||||||||
| Severity: | Normal | CC: | cdumez, Hironori.Fujii | ||||||||||
| Priority: | P2 | ||||||||||||
| Version: | WebKit Local Build | ||||||||||||
| Hardware: | Unspecified | ||||||||||||
| OS: | Linux | ||||||||||||
| Attachments: |
|
||||||||||||
|
Description
SUNG
2020-11-03 01:54:47 PST
Created attachment 413090 [details]
crash log of WinCairo port
Created attachment 413098 [details]
simplified poc
Thank you very much for taking time to report the bug, Sung. You might be interested in this. https://blog.playstation.com/2020/06/24/announcing-the-playstation-bug-bounty-program/ Created attachment 413126 [details]
simplified poc
This crash can be reproduced in the tip of cairo main line. https://gitlab.freedesktop.org/cairo/cairo/-/commit/c3e48e63a2d2deeae6205ee746cc00c960c8c5c5 right was null in active_edges. The following patch can work around the crash. diff --git a/src/cairo-polygon-intersect.c b/src/cairo-polygon-intersect.c index 001e55ee0..c716bd37c 100644 --- a/src/cairo-polygon-intersect.c +++ b/src/cairo-polygon-intersect.c @@ -1179,6 +1179,8 @@ active_edges (cairo_bo_edge_t *left, } right = right->next; + if (! right) + return; } while (1); edges_start_or_continue (left, right, top, polygon); *** This bug has been marked as a duplicate of bug 218487 *** |