diff options
author | Denton Cockburn <kanielc@gmail.com> | 2015-01-31 11:22:57 -0500 |
---|---|---|
committer | Denton Cockburn <kanielc@gmail.com> | 2015-01-31 11:22:57 -0500 |
commit | f2d0231898a4537218656867e9356e09d05d3a85 (patch) | |
tree | bb6e08bb3bd17337400025e9b9b53c3d6450fc8c /src | |
parent | 5d7098c629bbb7cc0ab7e74c235bd4afca3de24e (diff) | |
download | scala-f2d0231898a4537218656867e9356e09d05d3a85.tar.gz scala-f2d0231898a4537218656867e9356e09d05d3a85.tar.bz2 scala-f2d0231898a4537218656867e9356e09d05d3a85.zip |
SI-9095 Memory leak in LinkedHasMap and LinkedHashSet
The clear() method in scala.collection.mutable.LinkedHashSet and
scala.collection.mutable.LinkedHashMap does not set lastEntry to null.
In result it holds a reference to an object that was removed from the
collection.
Diffstat (limited to 'src')
-rw-r--r-- | src/library/scala/collection/mutable/LinkedHashMap.scala | 1 | ||||
-rw-r--r-- | src/library/scala/collection/mutable/LinkedHashSet.scala | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/library/scala/collection/mutable/LinkedHashMap.scala b/src/library/scala/collection/mutable/LinkedHashMap.scala index b64504be3d..275f490675 100644 --- a/src/library/scala/collection/mutable/LinkedHashMap.scala +++ b/src/library/scala/collection/mutable/LinkedHashMap.scala @@ -160,6 +160,7 @@ class LinkedHashMap[A, B] extends AbstractMap[A, B] override def clear() { clearTable() firstEntry = null + lastEntry = null } private def writeObject(out: java.io.ObjectOutputStream) { diff --git a/src/library/scala/collection/mutable/LinkedHashSet.scala b/src/library/scala/collection/mutable/LinkedHashSet.scala index 1768c946ed..756a2f73c1 100644 --- a/src/library/scala/collection/mutable/LinkedHashSet.scala +++ b/src/library/scala/collection/mutable/LinkedHashSet.scala @@ -112,6 +112,7 @@ class LinkedHashSet[A] extends AbstractSet[A] override def clear() { clearTable() firstEntry = null + lastEntry = null } private def writeObject(out: java.io.ObjectOutputStream) { |