Make sure Region handles invalid rectangles
the boolean operation code assumes rects are valid and could go into an infinite loop if not. make sure we abort before that happens. Bug: 5331198, 5334829 Change-Id: Iee4e3b838ecf504ef21f7447fd2e34a56e7dc3f8
This commit is contained in:
parent
000e95e7eb
commit
0450452e8c
@ -479,6 +479,11 @@ void Region::boolean_operation(int op, Region& dst,
|
|||||||
const Region& lhs,
|
const Region& lhs,
|
||||||
const Rect& rhs, int dx, int dy)
|
const Rect& rhs, int dx, int dy)
|
||||||
{
|
{
|
||||||
|
if (!rhs.isValid()) {
|
||||||
|
LOGE("Region::boolean_operation(op=%d) invalid Rect={%d,%d,%d,%d}",
|
||||||
|
op, rhs.left, rhs.top, rhs.right, rhs.bottom);
|
||||||
|
}
|
||||||
|
|
||||||
#if VALIDATE_WITH_CORECG || VALIDATE_REGIONS
|
#if VALIDATE_WITH_CORECG || VALIDATE_REGIONS
|
||||||
boolean_operation(op, dst, lhs, Region(rhs), dx, dy);
|
boolean_operation(op, dst, lhs, Region(rhs), dx, dy);
|
||||||
#else
|
#else
|
||||||
|
Loading…
Reference in New Issue
Block a user