Bug 441714 - Protect caps against SJOWs. r+sr=dveditz

This commit is contained in:
Blake Kaplan 2009-06-12 14:38:05 -07:00
Родитель 32898f8705
Коммит 57001fe1d3
1 изменённых файлов: 9 добавлений и 0 удалений

Просмотреть файл

@ -2105,6 +2105,15 @@ nsScriptSecurityManager::GetFunctionObjectPrincipal(JSContext *cx,
nsresult *rv)
{
NS_PRECONDITION(rv, "Null out param");
if (!JS_ObjectIsFunction(cx, obj))
{
// Protect against pseudo-functions (like SJOWs).
nsIPrincipal *result = doGetObjectPrincipal(obj);
if (!result)
*rv = NS_ERROR_FAILURE;
return result;
}
JSFunction *fun = (JSFunction *) caps_GetJSPrivate(obj);
JSScript *script = JS_GetFunctionScript(cx, fun);