Closed Bug 1042398 Opened 10 years ago Closed 10 years ago

Xray waivers miss custom iterators

Categories

(Core :: XPConnect, defect)

x86
macOS
defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla34
Tracking Status
firefox33 + verified
firefox34 --- verified

People

(Reporter: bholley, Assigned: bholley)

References

Details

Attachments

(2 files)

This is a longstanding bug, but the compat impact is a regression from bug 856067. We should take this patch on 33.
[Tracking Requested - why for this release]: See comment 0. The patch should land on m-i within a date and is very safe.
(In reply to Bobby Holley (:bholley) from comment #1)
> land on m-i within a date

*within a day.
I thought we had overrides for all the proxy traps that returned non-primitive
values, but it looks like we missed one.
Attachment #8460642 - Flags: review?(gkrizsanits)
Attached patch Tests. v2 r=bholley (deleted) — Splinter Review
Attachment #8460643 - Flags: review+
For more context - the issue here is that our Xray waivers (which are used from chrome and addon code) miss a certain corner case (custom iterators). This has always been the case, but wasn't noticeable before bug 856067. Now that we deny access to non-waived objects, the lack of a waiver here becomes a problem.

The potential for addon-compat fallout is low, but the fix is really safe and we just need it on aurora.

https://tbpl.mozilla.org/?tree=Try&rev=e69c167c6fd6
Comment on attachment 8460642 [details] [diff] [review]
Add a WaiveXrayWrapper override for ::iterate. v1

Review of attachment 8460642 [details] [diff] [review]:
-----------------------------------------------------------------

Uhh... I was not even aware of that trap :(
Attachment #8460642 - Flags: review?(gkrizsanits) → review+
https://hg.mozilla.org/mozilla-central/rev/25608b44a408
https://hg.mozilla.org/mozilla-central/rev/6878d55c8dda
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
Comment on attachment 8460642 [details] [diff] [review]
Add a WaiveXrayWrapper override for ::iterate. v1

Approval Request Comment
[Feature/regressing bug #]: See comment 5.
[User impact if declined]: Small potential for addon breakage.
[Describe test coverage new/current, TBPL]: Automated test included, and in general we have lots of test coverage for this stuff.
[Risks and why]: Extremely low risk.
[String/UUID change made/needed]: None
Attachment #8460642 - Flags: approval-mozilla-aurora?
Attachment #8460642 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Tests look good in Fx33/Fx34. They also look good in Fx31/Fx32, so I can't say if I've truly verified a change, but they pass nonetheless.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: