summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2019-04-18 19:17:31 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2019-04-29 14:55:16 +0300
commit9f49df1ad3ba49d479aa9a1ff997d2236509163b (patch)
tree6200f6628adfb5c897eba66de1acbc43269b91dd
parenta53658ebbb9aedd85a3a73cf6d3911aed627ae29 (diff)
lib/igt_fb: Fix 32bit integer overflow in the shadow buffer size calculation
16k*16k*16 == 1<<32, so 32bits isn't enough for the result when we start to have big framebuffers. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--lib/igt_fb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index f3609680..d4929019 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -1912,7 +1912,7 @@ static void *igt_fb_create_cairo_shadow_buffer(int fd,
IGT_COLOR_YCBCR_BT709, IGT_COLOR_YCBCR_LIMITED_RANGE);
shadow->strides[0] = ALIGN(width * (shadow->plane_bpp[0] / 8), 16);
- shadow->size = ALIGN(shadow->strides[0] * height,
+ shadow->size = ALIGN((uint64_t)shadow->strides[0] * height,
sysconf(_SC_PAGESIZE));
ptr = mmap(NULL, shadow->size, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);