summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2015-10-12 22:30:10 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-10-12 22:30:10 +0000
commit5bba4236a86bbf4537bc27810803b9b224b0840f (patch)
tree2caa1a29392bf7b8f5b5c86871c7b509eec226ab
parent7b2b968db484118668b70d040464f379a7e9e915 (diff)
parent76fc5f18e6a0271a1f04db54924653faac73912e (diff)
downloadframeworks_native-5bba4236a86bbf4537bc27810803b9b224b0840f.zip
frameworks_native-5bba4236a86bbf4537bc27810803b9b224b0840f.tar.gz
frameworks_native-5bba4236a86bbf4537bc27810803b9b224b0840f.tar.bz2
am 76fc5f18: am 16b0ae10: Merge "add number constraint for samples per MotionEvent" into mnc-dr-dev
* commit '76fc5f18e6a0271a1f04db54924653faac73912e': add number constraint for samples per MotionEvent
-rw-r--r--include/input/Input.h5
-rw-r--r--libs/input/Input.cpp3
2 files changed, 7 insertions, 1 deletions
diff --git a/include/input/Input.h b/include/input/Input.h
index 4a67f47..92b3d36 100644
--- a/include/input/Input.h
+++ b/include/input/Input.h
@@ -111,6 +111,11 @@ enum {
#define MAX_POINTERS 16
/*
+ * Maximum number of samples supported per motion event.
+ */
+#define MAX_SAMPLES UINT16_MAX
+
+/*
* Maximum pointer id value supported in a motion event.
* Smallest pointer id is 0.
* (This is limited by our use of BitSet32 to track pointer assignments.)
diff --git a/libs/input/Input.cpp b/libs/input/Input.cpp
index 2c1418e..b64cb2c 100644
--- a/libs/input/Input.cpp
+++ b/libs/input/Input.cpp
@@ -424,7 +424,8 @@ void MotionEvent::transform(const float matrix[9]) {
status_t MotionEvent::readFromParcel(Parcel* parcel) {
size_t pointerCount = parcel->readInt32();
size_t sampleCount = parcel->readInt32();
- if (pointerCount == 0 || pointerCount > MAX_POINTERS || sampleCount == 0) {
+ if (pointerCount == 0 || pointerCount > MAX_POINTERS ||
+ sampleCount == 0 || sampleCount > MAX_SAMPLES) {
return BAD_VALUE;
}