From 91b7fee4e02c4b333c525e2e8ba74754a3b49afd Mon Sep 17 00:00:00 2001 From: "mrbkap%gmail.com" Date: Sun, 9 Oct 2005 07:56:32 +0000 Subject: [PATCH] bug 311403: Enforce JS engine invarients. r=brendan --- js/src/jsscript.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/js/src/jsscript.c b/js/src/jsscript.c index 539d00121a05..66549fdcb938 100644 --- a/js/src/jsscript.c +++ b/js/src/jsscript.c @@ -312,17 +312,15 @@ script_exec(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) /* Belt-and-braces: check that this script object has access to scopeobj. */ principals = script->principals; - if (principals) { - rt = cx->runtime; - if (rt->findObjectPrincipals) { - scopePrincipals = rt->findObjectPrincipals(cx, scopeobj); - if (scopePrincipals && - !principals->subsume(principals, scopePrincipals)) { - JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, - JSMSG_BAD_INDIRECT_CALL, - "Script.prototype.exec"); - return JS_FALSE; - } + rt = cx->runtime; + if (rt->findObjectPrincipals) { + scopePrincipals = rt->findObjectPrincipals(cx, scopeobj); + if (!principals || !scopePrincipals || + !principals->subsume(principals, scopePrincipals)) { + JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, + JSMSG_BAD_INDIRECT_CALL, + "Script.prototype.exec"); + return JS_FALSE; } }