From c919883d269703a1c9391af347df390979027f53 Mon Sep 17 00:00:00 2001 From: Bryce Harrington Date: Thu, 21 May 2015 11:53:54 -0700 Subject: [PATCH] tests: Check that the PNG file's stride matches our internal assumption Signed-off-by: Bryce Harrington Reviewed-By: Derek Foreman --- tests/internal-screenshot-test.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/internal-screenshot-test.c b/tests/internal-screenshot-test.c index b5707336..f2e6c16b 100644 --- a/tests/internal-screenshot-test.c +++ b/tests/internal-screenshot-test.c @@ -75,6 +75,7 @@ load_surface_from_png(const char *fname) { cairo_surface_t *reference_cairo_surface; cairo_status_t status; size_t source_data_size; + int bpp; int stride; printf("Loading reference image %s\n", fname); @@ -98,6 +99,15 @@ load_surface_from_png(const char *fname) { stride = cairo_image_surface_get_stride(reference_cairo_surface); source_data_size = stride * reference->height; + /* Check that the file's stride matches our assumption */ + bpp = 4; + if (stride != bpp * reference->width) { + printf("Mismatched stride for screenshot reference image %s\n", fname); + cairo_surface_destroy(reference_cairo_surface); + free(reference); + return NULL; + } + /* Allocate new buffer for our weston reference, and copy the data from the cairo surface so we can destroy it */ reference->data = xzalloc(source_data_size);