diff options
author | Jeroen Frijters <jeroen@sumatra.nl> | 2007-03-31 10:01:38 +0000 |
---|---|---|
committer | Jeroen Frijters <jeroen@sumatra.nl> | 2007-03-31 10:01:38 +0000 |
commit | 3e09b88a6a2073f52ba900514c3373c531e62f29 (patch) | |
tree | 8a2b018257ee734480eb01de10a6364dec6a8c06 | |
parent | d6c362f1b8abd34e063e8281171657dac4e90a43 (diff) | |
download | classpath-3e09b88a6a2073f52ba900514c3373c531e62f29.tar.gz |
2007-03-31 Jeroen Frijters <jeroen@frijters.net>
PR classpath/31402:
* java/util/concurrent/CopyOnWriteArrayList.java
(remove): Fixed ArrayIndexOutOfBoundsException when index == 0.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | java/util/concurrent/CopyOnWriteArrayList.java | 3 |
2 files changed, 8 insertions, 1 deletions
@@ -1,3 +1,9 @@ +2007-03-31 Jeroen Frijters <jeroen@frijters.net> + + PR classpath/31402: + * java/util/concurrent/CopyOnWriteArrayList.java + (remove): Fixed ArrayIndexOutOfBoundsException when index == 0. + 2007-03-30 Andrew John Hughes <gnu_andrew@member.fsf.org> * javax/management/openmbean/CompositeDataInvocationHandler.java: diff --git a/java/util/concurrent/CopyOnWriteArrayList.java b/java/util/concurrent/CopyOnWriteArrayList.java index ec2c90cc1..3cd484a4f 100644 --- a/java/util/concurrent/CopyOnWriteArrayList.java +++ b/java/util/concurrent/CopyOnWriteArrayList.java @@ -349,7 +349,8 @@ public class CopyOnWriteArrayList<E> extends AbstractList<E> implements { E[] data = this.data; E[] newData = (E[]) new Object[data.length - 1]; - System.arraycopy(data, 0, newData, 0, index - 1); + if (index > 0) + System.arraycopy(data, 0, newData, 0, index - 1); System.arraycopy(data, index + 1, newData, index, data.length - index - 1); E r = data[index]; |