summary refs log tree commit diff
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;
+   }
+