From f9682de5de5aae7a7efe730ec0e31d482494dd01 Mon Sep 17 00:00:00 2001 From: "brendan%mozilla.org" Date: Wed, 6 Jul 2005 03:14:08 +0000 Subject: [PATCH] Unregress indirect eval for benign cases such as venkman chrome calling content eval (293933, r=shaver). git-svn-id: svn://10.0.0.236/trunk@175673 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/js/src/jsobj.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/mozilla/js/src/jsobj.c b/mozilla/js/src/jsobj.c index bd2547d5b87..b2ec1a3448c 100644 --- a/mozilla/js/src/jsobj.c +++ b/mozilla/js/src/jsobj.c @@ -1132,11 +1132,8 @@ obj_eval(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) rt = cx->runtime; if (rt->findObjectPrincipals) { scopePrincipals = rt->findObjectPrincipals(cx, scopeobj); - if (scopePrincipals != principals) { - JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, - JSMSG_BAD_INDIRECT_CALL, js_eval_str); - return JS_FALSE; - } + if (scopePrincipals != principals) + scopeobj = OBJ_GET_PARENT(cx, JSVAL_TO_OBJECT(argv[-2])); } ok = js_Execute(cx, scopeobj, script, caller, JSFRAME_EVAL, rval);