summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/icecat-CVE-2015-4489.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/icecat-CVE-2015-4489.patch')
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-4489.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/gnu/packages/patches/icecat-CVE-2015-4489.patch b/gnu/packages/patches/icecat-CVE-2015-4489.patch
new file mode 100644
index 0000000000..4140891e3a
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-4489.patch
@@ -0,0 +1,21 @@
+Backported to icecat-31.8 from the upstream esr38 branch.
+
+From 95231c1bca9c9495393b795513bea71a21a6ec2f Mon Sep 17 00:00:00 2001
+From: Birunthan Mohanathas <birunthan@mohanathas.com>
+Date: Tue, 21 Jul 2015 09:42:58 -0700
+Subject: [PATCH] Bug 1182723 - Properly handle self-assignment in
+ nsTArray::operator=. r=mccr8, a=abillings
+
+--- icecat-31.8.0/xpcom/glue/nsTArray.h.orig 2015-08-12 16:03:56.353746969 -0400
++++ icecat-31.8.0/xpcom/glue/nsTArray.h 2015-08-12 16:06:52.144553848 -0400
+@@ -811,7 +811,9 @@
+ // array. It is optimized to reuse existing storage if possible.
+ // @param other The array object to copy.
+ self_type& operator=(const self_type& other) {
+- ReplaceElementsAt(0, Length(), other.Elements(), other.Length());
++ if (this != &other) {
++ ReplaceElementsAt(0, Length(), other.Elements(), other.Length());
++ }
+ return *this;
+ }
+