Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5d17838a authored by Flanker's avatar Flanker Committed by Nick Kralevich
Browse files

add number constraint for samples per MotionEvent



Bug:23905002

Signed-off-by: default avatarAdam Lesinski <adamlesinski@google.com>

(cherry picked from commit 552a8a5d)

Change-Id: I9b7ea859889b7697bee4165a2746602212120543
parent c1e6fbb5
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -81,6 +81,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.
+2 −1
Original line number Diff line number Diff line
@@ -490,7 +490,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;
    }