blob: 4140891e3ab3a3732382fca39b00a6d2ed7004ae (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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;
}
|