add number constraint for samples per MotionEvent am: 5d17838ade am: 72c8ca4a01 am: 9964d83869

am: 90dc6dc825

* commit '90dc6dc825ebd1f0f4c9474fad887cd7eac8e9bd':
  add number constraint for samples per MotionEvent
This commit is contained in:
Flanker 2015-10-22 02:15:13 +00:00 committed by android-build-merger
commit 9830f11dc6
2 changed files with 7 additions and 1 deletions

View File

@ -110,6 +110,11 @@ enum {
*/ */
#define MAX_POINTERS 16 #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. * Maximum pointer id value supported in a motion event.
* Smallest pointer id is 0. * Smallest pointer id is 0.

View File

@ -421,7 +421,8 @@ void MotionEvent::transform(const float matrix[9]) {
status_t MotionEvent::readFromParcel(Parcel* parcel) { status_t MotionEvent::readFromParcel(Parcel* parcel) {
size_t pointerCount = parcel->readInt32(); size_t pointerCount = parcel->readInt32();
size_t sampleCount = 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; return BAD_VALUE;
} }