diff options
author | Owen Lin <owenlin@google.com> | 2009-07-29 21:26:18 +0800 |
---|---|---|
committer | Owen Lin <owenlin@google.com> | 2009-07-29 21:27:08 +0800 |
commit | 18a081e68441a098fe0a1a6283439913cfb6b0ca (patch) | |
tree | 8b03ac8ab87a189d6b84fd71f0ff173a5a1e7a57 /core/java/android/view | |
parent | 59e2ad93bf37c7ded44c033d38fe7c972e2f4118 (diff) | |
download | frameworks_base-18a081e68441a098fe0a1a6283439913cfb6b0ca.zip frameworks_base-18a081e68441a098fe0a1a6283439913cfb6b0ca.tar.gz frameworks_base-18a081e68441a098fe0a1a6283439913cfb6b0ca.tar.bz2 |
Fix OOB in arraycopy.
Diffstat (limited to 'core/java/android/view')
-rw-r--r-- | core/java/android/view/MotionEvent.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/core/java/android/view/MotionEvent.java b/core/java/android/view/MotionEvent.java index d46660c..ae84e1e 100644 --- a/core/java/android/view/MotionEvent.java +++ b/core/java/android/view/MotionEvent.java @@ -516,14 +516,14 @@ public final class MotionEvent implements Parcelable { } final int NS = (ev.mNumPointers=o.mNumPointers) * NT; - if (ev.mStateSamples.length < NS) { + if (ev.mStateSamples.length >= NS) { System.arraycopy(o.mStateSamples, 0, ev.mStateSamples, 0, NS); } else { ev.mStateSamples = (int[])o.mStateSamples.clone(); } final int ND = NS * NUM_SAMPLE_DATA; - if (ev.mDataSamples.length < ND) { + if (ev.mDataSamples.length >= ND) { System.arraycopy(o.mDataSamples, 0, ev.mDataSamples, 0, ND); } else { ev.mDataSamples = (float[])o.mDataSamples.clone(); |