Closed Bug 826435 Opened 12 years ago Closed 12 years ago

GC: Don't let poisoned pointers flow through HashTable

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla20

People

(Reporter: terrence, Assigned: terrence)

References

Details

Attachments

(1 file)

The basic assumption of poisoning is that any future use of the poisoned value will lead to an immediate crash when we dereference an invalid pointer. Unfortunately, insertion or removal of a pointer into a HashTable is one place where that is not true. Thankfully, PointerHasher gives us a location that we can intercept.
Attached patch v0: antidote (deleted) — Splinter Review
We still hit an error in testObjectEmulatingUndefined_equal with this, but it fails with a non-NULL assertion instead of total insanity. This may also introduce some new jit-test failures: the first one I checked was not from this so I thought I would work through those separately.
Attachment #697643 - Flags: review?(sphink)
Attachment #697643 - Flags: review?(sphink) → review+
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: