archives

« Bugzilla Issues Index

#982 — problems with restrictions on non-strict Function caller property


+++ This bug was initially created as a clone of Bug #310 +++

15.3.5.4 should have redefined [[GetOwnProperty]] instead of [[Get]] to restrict access to strict-mode functions from non-strict code.

AllenWB:

OK, it looks like the addition of line 6 of 15.3.4.5 was an error. Line 20 and the informative note in 15.3.5.4 had been around for quite a while when lines 5 and 6 were added in the August 31, 2009 ES5 draft. Technically line 5 is needed and I probably also added line 6 to also incorporate 15.3.5.4 but didn't notice that line 20 made it unnecessary.

I'm disinclined to do anything at all for non-strict caller other than correcting the spec. to use [[GetOwnProperty]] instead of [[Get]]. I'm haven't yet heard any real interoperability issues involving this non-standard feature and unless there are I don't thing we should do anything beyond the minimum necessary to ensure "caller" doesn't leak strict callers form the call stack. As I mentioned earlier, we might consider just specify that as a requirement and moving a away for an algorithmic spec. for this mis-feature.


in rev 12 define both [[GetP] and [[GetownProperty]] to sensor such function references. Currently as undefined, but perhaps should be null.


(In reply to comment #1)
> in rev 12 define both [[GetP] and [[GetownProperty]] to sensor such function
> references. Currently as undefined, but perhaps should be null.

I sense censoring ;-).

Yes, definitely should be null. Otherwise you can tell there's a strict caller, an info leak that might lead to trouble. Hoping Mark will confirm.

/be


corrected in rev 12, Nov. 22, 2012 draft


reopened on rev 12 to change censor value to null


changed to null in rev 13 editor's draft