Merge change 8974

* changes:
  Fix OOB in arraycopy.
This commit is contained in:
Android (Google) Code Review
2009-07-29 18:28:12 -07:00

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