Closed Bug 571310 Opened 15 years ago Closed 4 years ago

protect virtual proxy handler methods with non-virtual helprs

Categories

(Core :: JavaScript Engine, enhancement, P3)

enhancement

Tracking

()

RESOLVED INACTIVE

People

(Reporter: igor, Unassigned)

Details

Currently JSProxyHandler define all its methods as pure public virtual. This makes it hard to add common checks and asserts that verifies pre- and postconditions. Thus the idea is to replace the public methods with private or protected ones with a public helpers doing common checks and calling the virtuals. I.e. replace public: virtual bool has(JSContext *cx, JSObject *proxy, jsid id, bool *bp); with public: bool has(JSContext *cx, JSObject *proxy, jsid id, bool *bp) { check_recurssion(); assert_operation_in_progress(); return doHas(cx, proxy, id, bp); } protected: virtual bool doHas(JSContext *cx, JSObject *proxy, jsid id, bool *bp);
This is not security sensitive. There is no known bug here. Not opposed to a patch though. Since there is no known bug, this definitely also doesn't have to block.
Group: core-security
Severity: critical → enhancement
blocking2.0: ? → ---
Priority: -- → P2
(In reply to comment #1) > This is not security sensitive. Sorry I forgot to clear those flags when cloning bugs.
Assignee: general → nobody
Moving to p3 because no activity for at least 1 year(s). See https://github.com/mozilla/bug-handling/blob/master/policy/triage-bugzilla.md#how-do-you-triage for more information
Priority: P2 → P3
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.