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

Commit be31f447 authored by Dan Stoza's avatar Dan Stoza
Browse files

SurfaceFlinger: Fix rect out-of-bounds checks

Rects' right and bottom edges are treated as exclusive, so when
checking against maximum width and height, we should use > instead
of >=.

Change-Id: Ifcdf6813c13fcab1a55f16c21064e765e93d49f0
parent e3b129d4
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -2901,14 +2901,14 @@ void SurfaceFlinger::renderScreenImplLocked(
    if (sourceCrop.left < 0) {
        ALOGE("Invalid crop rect: l = %d (< 0)", sourceCrop.left);
    }
    if (sourceCrop.right >= hw_w) {
        ALOGE("Invalid crop rect: r = %d (>= %d)", sourceCrop.right, hw_w);
    if (sourceCrop.right > hw_w) {
        ALOGE("Invalid crop rect: r = %d (> %d)", sourceCrop.right, hw_w);
    }
    if (sourceCrop.top < 0) {
        ALOGE("Invalid crop rect: t = %d (< 0)", sourceCrop.top);
    }
    if (sourceCrop.bottom >= hw_h) {
        ALOGE("Invalid crop rect: b = %d (>= %d)", sourceCrop.bottom, hw_h);
    if (sourceCrop.bottom > hw_h) {
        ALOGE("Invalid crop rect: b = %d (> %d)", sourceCrop.bottom, hw_h);
    }

    // make sure to clear all GL error flags