Summary: | [CSS Exclusions] Improve ExclusionPolygon smart pointer safety | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Hans Muller <giles_joplin> | ||||||
Component: | CSS | Assignee: | Hans Muller <giles_joplin> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | commit-queue, esprehn+autocc | ||||||
Priority: | P2 | ||||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Attachments: |
|
Description
Hans Muller
2013-04-22 12:31:18 PDT
Created attachment 199121 [details]
Patch
Assign newly allocated objects to PassOwnPtrs as early as possible to reduce the chances of future leaks. No new tests were added, this change adds no new functionality.
Attachment 199121 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/rendering/ExclusionPolygon.cpp', u'Source/WebCore/rendering/ExclusionShape.cpp']" exit_code: 1 Source/WebCore/rendering/ExclusionPolygon.cpp:140: Local variables should never be PassOwnPtr (see http://webkit.org/coding/RefPtr.html). [readability/pass_ptr] [5] Source/WebCore/rendering/ExclusionPolygon.cpp:161: Local variables should never be PassOwnPtr (see http://webkit.org/coding/RefPtr.html). [readability/pass_ptr] [5] Source/WebCore/rendering/ExclusionShape.cpp:151: Local variables should never be PassOwnPtr (see http://webkit.org/coding/RefPtr.html). [readability/pass_ptr] [5] Total errors found: 3 in 3 files If any of these errors are false positives, please file a bug against check-webkit-style. Created attachment 199128 [details]
Patch
Use OwnPtr for local variables and explicitly convert them to PassOwnPtr with release().
Comment on attachment 199128 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=199128&action=review r=me. > Source/WebCore/rendering/ExclusionShape.cpp:159 > + exclusionShape = createExclusionPolygon(vertices.release(), polygon->windRule()); I am not necessarily loving it that the vertices are created here and passed from one ctor to the next multiple times, but this particular change seems reasonable. Comment on attachment 199128 [details] Patch Clearing flags on attachment: 199128 Committed r149003: <http://trac.webkit.org/changeset/149003> All reviewed patches have been landed. Closing bug. |