22 lines
878 B
Diff
22 lines
878 B
Diff
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;
|
|
}
|
|
|