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
This commit is contained in:
Dan Stoza 2014-06-11 11:20:54 -07:00
parent e3b129d4ff
commit be31f44798

View File

@ -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