summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etnaviv/etnaviv_render.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/etnaviv/etnaviv_render.c b/etnaviv/etnaviv_render.c
index c4f87cd..a46c1bb 100644
--- a/etnaviv/etnaviv_render.c
+++ b/etnaviv/etnaviv_render.c
@@ -413,6 +413,9 @@ static struct etnaviv_pixmap *etnaviv_acquire_src(ScreenPtr pScreen,
if (!vSrc)
goto fallback;
+ if (vSrc->width < clip->x2 || vSrc->height < clip->y2)
+ goto fallback;
+
etnaviv_set_format(vSrc, pict);
if (!etnaviv_src_format_valid(etnaviv, vSrc->pict_format))
goto fallback;
@@ -671,6 +674,9 @@ static int etnaviv_accel_composite_masked(PicturePtr pSrc, PicturePtr pMask,
if (!vMask)
goto fallback;
+ if (vMask->width < clip_temp.x2 || vMask->height < clip_temp.y2)
+ goto fallback;
+
mask_offset.x += mo.x;
mask_offset.y += mo.y;
} else {