summaryrefslogtreecommitdiffstats
path: root/concurrent/src
diff options
context:
space:
mode:
Diffstat (limited to 'concurrent/src')
-rw-r--r--concurrent/src/main/java/java/util/concurrent/atomic/AtomicIntegerArray.java5
-rw-r--r--concurrent/src/main/java/java/util/concurrent/atomic/AtomicLongArray.java5
-rw-r--r--concurrent/src/main/java/java/util/concurrent/atomic/AtomicReferenceArray.java5
3 files changed, 12 insertions, 3 deletions
diff --git a/concurrent/src/main/java/java/util/concurrent/atomic/AtomicIntegerArray.java b/concurrent/src/main/java/java/util/concurrent/atomic/AtomicIntegerArray.java
index ee21b13..312c76d 100644
--- a/concurrent/src/main/java/java/util/concurrent/atomic/AtomicIntegerArray.java
+++ b/concurrent/src/main/java/java/util/concurrent/atomic/AtomicIntegerArray.java
@@ -30,7 +30,10 @@ public class AtomicIntegerArray implements java.io.Serializable {
private long rawIndex(int i) {
if (i < 0 || i >= array.length)
throw new IndexOutOfBoundsException("index " + i);
- return base + i * scale;
+ // BEGIN android-changed
+ // avoid memory corruption
+ return base + (long) i * scale;
+ // END android-changed
}
/**
diff --git a/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLongArray.java b/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLongArray.java
index d96f4c2..187acbc 100644
--- a/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLongArray.java
+++ b/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLongArray.java
@@ -29,7 +29,10 @@ public class AtomicLongArray implements java.io.Serializable {
private long rawIndex(int i) {
if (i < 0 || i >= array.length)
throw new IndexOutOfBoundsException("index " + i);
- return base + i * scale;
+ // BEGIN android-changed
+ // avoid memory corruption
+ return base + (long) i * scale;
+ // END android-changed
}
/**
diff --git a/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReferenceArray.java b/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReferenceArray.java
index 9a484e6..fff6a1e 100644
--- a/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReferenceArray.java
+++ b/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReferenceArray.java
@@ -30,7 +30,10 @@ public class AtomicReferenceArray<E> implements java.io.Serializable {
private long rawIndex(int i) {
if (i < 0 || i >= array.length)
throw new IndexOutOfBoundsException("index " + i);
- return base + i * scale;
+ // BEGIN android-changed
+ // avoid memory corruption
+ return base + (long) i * scale;
+ // END android-changed
}
/**