Another fix for #2186897: Cannot unlock the device by swiping

This was probably a side-effect of the divide by zero exception,
but we'll be safe anyway.

Change-Id: I875200febb9b3090d12f170066b2bea74c9f77f8
diff --git a/services/java/com/android/server/KeyInputQueue.java b/services/java/com/android/server/KeyInputQueue.java
index 09591f4..5d65c71 100644
--- a/services/java/com/android/server/KeyInputQueue.java
+++ b/services/java/com/android/server/KeyInputQueue.java
@@ -721,11 +721,14 @@
                                         // virtual key area...  but still
                                         // propagate this to the previous
                                         // data for comparisons.
+                                        int num = ms.mNextNumPointers;
+                                        if (num > InputDevice.MAX_POINTERS) {
+                                            num = InputDevice.MAX_POINTERS;
+                                        }
                                         System.arraycopy(ms.mNextData, 0,
                                                 ms.mLastData, 0,
-                                                ms.mNextNumPointers
-                                                        * MotionEvent.NUM_SAMPLE_DATA);
-                                        ms.mLastNumPointers = ms.mNextNumPointers;
+                                                num * MotionEvent.NUM_SAMPLE_DATA);
+                                        ms.mLastNumPointers = num;
                                     }
                                     
                                     ms.finish();