Bug 276913
Summary: | Filter out illegal runs of 0-bytes when linking AssemblerBuffer on x86 | ||
---|---|---|---|
Product: | WebKit | Reporter: | Marcus Plutowski <marcus_plutowski> |
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=278738 |
Marcus Plutowski
rdar://132273853
Valid x86 assembly should not contain any string of zero-bytes longer than 8B (the maximum possible immediate length). We can therefore detect some cases of memory corruption by looking for runs of 0-bytes longer than that limit, and asserting if any are detected. This will allow us to detect memory corruptions taking place within the AssemblerBuffer prior to executing the linked code.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Marcus Plutowski
Pull request: https://github.com/WebKit/WebKit/pull/31087
EWS
Committed 282011@main (207db7247e05): <https://commits.webkit.org/282011@main>
Reviewed commits have been landed. Closing PR #31087 and removing active labels.
EWS
Committed 280938.220@safari-7619-branch (2791efcbcb1a): <https://commits.webkit.org/280938.220@safari-7619-branch>
Reviewed commits have been landed. Closing PR #1584 and removing active labels.