summarylogtreecommitdiffstats
path: root/icecat-CVE-2015-4495.patch
diff options
context:
space:
mode:
authorFigue2015-08-26 12:39:47 +0200
committerFigue2015-08-26 12:43:30 +0200
commit90388447f8c2e5ff1d433d9c08c87fa4423889d3 (patch)
tree9d07e4c82cc87a4a8ddb55fb8769d0a4d7c6dd54 /icecat-CVE-2015-4495.patch
parentb25900b4b69ac3adc870f9c2f4e67530c5eaad6d (diff)
downloadaur-90388447f8c2e5ff1d433d9c08c87fa4423889d3.tar.gz
Update to 31.8.0-gnu2. Applied patch for CVE-2015-4473 CVE-2015-4482 CVE-2015-4488 CVE-2015-4489 CVE-2015-4491 CVE-2015-4492 CVE-2015-4495 from Guix
Diffstat (limited to 'icecat-CVE-2015-4495.patch')
-rw-r--r--icecat-CVE-2015-4495.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/icecat-CVE-2015-4495.patch b/icecat-CVE-2015-4495.patch
new file mode 100644
index 000000000000..e7514d9a5e72
--- /dev/null
+++ b/icecat-CVE-2015-4495.patch
@@ -0,0 +1,28 @@
+Backported from upstream commits labelled "Bug 1178058" from the esr38 branch
+by Boris Zbarsky <bzbarsky@mit.edu> and Bobby Holley <bobbyholley@gmail.com>.
+
+--- icecat-31.8.0/docshell/base/nsDocShell.cpp
++++ icecat-31.8.0/docshell/base/nsDocShell.cpp
+@@ -1546,12 +1546,21 @@
+
+ if (owner && mItemType != typeChrome) {
+ nsCOMPtr<nsIPrincipal> ownerPrincipal = do_QueryInterface(owner);
+- if (nsContentUtils::IsSystemOrExpandedPrincipal(ownerPrincipal)) {
++ if (nsContentUtils::IsSystemPrincipal(ownerPrincipal)) {
+ if (ownerIsExplicit) {
+ return NS_ERROR_DOM_SECURITY_ERR;
+ }
+ owner = nullptr;
+ inheritOwner = true;
++ } else if (nsContentUtils::IsExpandedPrincipal(ownerPrincipal)) {
++ if (ownerIsExplicit) {
++ return NS_ERROR_DOM_SECURITY_ERR;
++ }
++ // Don't inherit from the current page. Just do the safe thing
++ // and pretend that we were loaded by a nullprincipal.
++ owner = do_CreateInstance("@mozilla.org/nullprincipal;1");
++ NS_ENSURE_TRUE(owner, NS_ERROR_FAILURE);
++ inheritOwner = false;
+ }
+ }
+ if (!owner && !inheritOwner && !ownerIsExplicit) {