WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
186004
MachineContext's instructionPointer() should handle null PCs correctly.
https://bugs.webkit.org/show_bug.cgi?id=186004
Summary
MachineContext's instructionPointer() should handle null PCs correctly.
Mark Lam
Reported
2018-05-25 16:34:19 PDT
instructionPointer() returns a MacroAssemblerCodePtr<CFunctionPtrTag>. However MacroAssemblerCodePtr's constructor does not accept a nullptr and will assert accordingly with a debug ASSERT. This is inconsequential for release builds, but to avoid this assertion failure, we should check for a null PC and return MacroAssemblerCodePtr<CFunctionPtrTag>(nullptr) instead (which uses the MacroAssemblerCodePtr(std::nullptr_t) constructor instead). Alternatively, we can change all of MacroAssemblerCodePtr's constructors to check for null pointers, but I rather not do that yet. In general, MacroAssemblerCodePtrs are constructed with non-null pointers, and I prefer to leave it that way for now.
Attachments
proposed patch.
(2.12 KB, patch)
2018-05-25 16:42 PDT
,
Mark Lam
saam
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Mark Lam
Comment 1
2018-05-25 16:35:03 PDT
Note: this issue only manifests when we have signal traps enabled, and encounter a null pointer deref.
Mark Lam
Comment 2
2018-05-25 16:42:01 PDT
Created
attachment 341354
[details]
proposed patch.
Radar WebKit Bug Importer
Comment 3
2018-05-25 16:42:53 PDT
<
rdar://problem/40570067
>
Mark Lam
Comment 4
2018-05-25 16:46:07 PDT
Thanks for the review. Landed in
r232215
: <
http://trac.webkit.org/r232215
>.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug