Bug 295689
| Summary: | Suppress NoUncheckedPtrMemberChecker/UncheckedCallArgsChecker warnings for WebPageMessages.h | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Frédéric Wang (:fredw) <fred.wang> |
| Component: | New Bugs | Assignee: | Frédéric Wang (:fredw) <fred.wang> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | rniwa, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Bug Depends on: | 295621 | ||
| Bug Blocks: | |||
Frédéric Wang (:fredw)
> IPC message types are temporal objects used to serialize arguments. Using & and && is safe for member variables in these types since they're always short lived.
In bug 295621, we suppress ForwardDeclChecker for members for headers generated by Scripts/webkit/messages.py ; this has the side effect of suppressing NoUncheckedPtrMemberCheckerExpectations, NoUncountedMemberCheckerExpectations, UncheckedCallArgsCheckerExpectations, UncountedCallArgsCheckerExpectations warnings too, just because at the end all of the macros are just adding [[clang::suppress]]
There are two remaining cases in *Messages.h (more precisely WebPageMessages.h):
> SUPPRESS_FORWARD_DECL_MEMBER const WebCore::FrameIdentifier& m_frameID;
> const WebKit::WebKeyboardEvent& m_event;
> ^ Member variable 'm_event' in 'Messages::WebPage::KeyEvent' is a reference to CheckedPtr capable type 'WebKit::WebKeyboardEvent'; member variables must be a CheckedPtr, CheckedRef, WeakRef, or WeakPtr
> SUPPRESS_FORWARD_DECL_ARG encoder << m_frameID;
> encoder << m_event;
> ^ Call argument for parameter 't' is unchecked and unsafe
This is because because types_that_cannot_be_forward_declared() returns true for 'WebKit::WebKeyboardEvent, so function_parameter_requires_suppress_forward_decl() returns false for that type.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Frédéric Wang (:fredw)
Pull request: https://github.com/WebKit/WebKit/pull/47811
EWS
Committed 297200@main (9770837d4912): <https://commits.webkit.org/297200@main>
Reviewed commits have been landed. Closing PR #47811 and removing active labels.
Radar WebKit Bug Importer
<rdar://problem/155551090>