Bug 1335526 - Ensure that sandboxed channel's result principal is unique; r=bzbarsky

This commit is contained in:
Ehsan Akhgari
2017-01-31 17:56:15 -05:00
parent af64f00bf4
commit ceee3ed00a
6 changed files with 64 additions and 12 deletions

View File

@@ -293,18 +293,9 @@ nsScriptSecurityManager::GetChannelResultPrincipal(nsIChannel* aChannel,
if (loadInfo) {
if (!aIgnoreSandboxing && loadInfo->GetLoadingSandboxed()) {
RefPtr<nsNullPrincipal> prin;
if (loadInfo->LoadingPrincipal()) {
prin =
nsNullPrincipal::CreateWithInheritedAttributes(loadInfo->LoadingPrincipal());
} else {
OriginAttributes attrs;
loadInfo->GetOriginAttributes(&attrs);
attrs.StripAttributes(OriginAttributes::STRIP_ADDON_ID);
prin = nsNullPrincipal::Create(attrs);
}
prin.forget(aPrincipal);
return NS_OK;
MOZ_ALWAYS_TRUE(NS_SUCCEEDED(loadInfo->GetSandboxedLoadingPrincipal(aPrincipal)));
MOZ_ASSERT(*aPrincipal);
return NS_OK;
}
bool forceInherit = loadInfo->GetForceInheritPrincipal();