Fix OOB in arraycopy.

This commit is contained in:
Owen Lin
2009-07-29 21:26:18 +08:00
parent 59e2ad93bf
commit 18a081e684

View File

@@ -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();