summaryrefslogtreecommitdiff
path: root/core/java/android/util/SparseLongArray.java
diff options
context:
space:
mode:
authorKweku Adams <kwekua@google.com>2019-03-05 15:30:42 -0800
committerKweku Adams <kwekua@google.com>2019-03-05 15:40:12 -0800
commit17d453ea85703a5bc26c0669231be4d6f0d8bbac (patch)
tree4a0331fae4be308396b31c4eaf4c494f1b1e2342 /core/java/android/util/SparseLongArray.java
parent004dd4d4fc44e9cc703d1a02baf198d76fbc0475 (diff)
Checkng upper bound in *Array classes.
*Array classes will now throw an IndexOutOfBoundsException if a caller tries to get or set a value for an index that's invalid based on the current size. Bug: 118339123 Test: atest CtsUtilTestCases Change-Id: Iddc9a0c7c89e0ac743b0380049527a1b2dfb434f
Diffstat (limited to 'core/java/android/util/SparseLongArray.java')
-rw-r--r--core/java/android/util/SparseLongArray.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/android/util/SparseLongArray.java b/core/java/android/util/SparseLongArray.java
index 81db2b7ff715..37a92024f374 100644
--- a/core/java/android/util/SparseLongArray.java
+++ b/core/java/android/util/SparseLongArray.java
@@ -182,6 +182,10 @@ public class SparseLongArray implements Cloneable {
* key.</p>
*/
public int keyAt(int index) {
+ if (index >= mSize) {
+ // The array might be slightly bigger than mSize, in which case, indexing won't fail.
+ throw new ArrayIndexOutOfBoundsException(index);
+ }
return mKeys[index];
}
@@ -197,6 +201,10 @@ public class SparseLongArray implements Cloneable {
* associated with the largest key.</p>
*/
public long valueAt(int index) {
+ if (index >= mSize) {
+ // The array might be slightly bigger than mSize, in which case, indexing won't fail.
+ throw new ArrayIndexOutOfBoundsException(index);
+ }
return mValues[index];
}