summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sna/sna_video_overlay.c8
-rw-r--r--src/sna/sna_video_sprite.c8
-rw-r--r--src/sna/sna_video_textured.c8
3 files changed, 21 insertions, 3 deletions
diff --git a/src/sna/sna_video_overlay.c b/src/sna/sna_video_overlay.c
index a68a173b..cfdc83d6 100644
--- a/src/sna/sna_video_overlay.c
+++ b/src/sna/sna_video_overlay.c
@@ -523,7 +523,13 @@ sna_video_overlay_put_image(ClientPtr client,
return BadAlloc;
}
- assert(kgem_bo_size(frame.bo) >= frame.size);
+ if (kgem_bo_size(frame.bo) < frame.size) {
+ DBG(("%s: bo size=%d, expected=%d\n",
+ __FUNCTION__, kgem_bo_size(frame.bo), frame.size));
+ kgem_bo_destroy(&sna->kgem, frame.bo);
+ return BadAlloc;
+ }
+
frame.image.x1 = 0;
frame.image.y1 = 0;
frame.image.x2 = frame.width;
diff --git a/src/sna/sna_video_sprite.c b/src/sna/sna_video_sprite.c
index a8d50ab2..cab2cdaa 100644
--- a/src/sna/sna_video_sprite.c
+++ b/src/sna/sna_video_sprite.c
@@ -348,7 +348,13 @@ static int sna_video_sprite_put_image(ClientPtr client,
if (frame.bo == NULL)
return BadAlloc;
- assert(kgem_bo_size(frame.bo) >= frame.size);
+ if (kgem_bo_size(frame.bo) < frame.size) {
+ DBG(("%s: bo size=%d, expected=%d\n",
+ __FUNCTION__, kgem_bo_size(frame.bo), frame.size));
+ kgem_bo_destroy(&sna->kgem, frame.bo);
+ return BadAlloc;
+ }
+
frame.image.x1 = 0;
frame.image.y1 = 0;
frame.image.x2 = frame.width;
diff --git a/src/sna/sna_video_textured.c b/src/sna/sna_video_textured.c
index d3ce2804..7ec17d18 100644
--- a/src/sna/sna_video_textured.c
+++ b/src/sna/sna_video_textured.c
@@ -222,7 +222,13 @@ sna_video_textured_put_image(ClientPtr client,
return BadAlloc;
}
- assert(kgem_bo_size(frame.bo) >= frame.size);
+ if (kgem_bo_size(frame.bo) < frame.size) {
+ DBG(("%s: bo size=%d, expected=%d\n",
+ __FUNCTION__, kgem_bo_size(frame.bo), frame.size));
+ kgem_bo_destroy(&sna->kgem, frame.bo);
+ return BadAlloc;
+ }
+
frame.image.x1 = 0;
frame.image.y1 = 0;
frame.image.x2 = frame.width;