From 734d13b13b2f6f02465bf51412e0c2be255eb8b5 Mon Sep 17 00:00:00 2001 From: Tobias Jakobi Date: Tue, 24 Feb 2015 15:20:48 +0100 Subject: [PATCH] tests/exynos: improve error handling Check for a useable connector and also if the resolution is sane (width and height are both non-zero). Signed-off-by: Tobias Jakobi Reviewed-by: Emil Velikov Tested-by: Joonyoung Shim --- tests/exynos/exynos_fimg2d_test.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/exynos/exynos_fimg2d_test.c b/tests/exynos/exynos_fimg2d_test.c index d89fc23..14b38a9 100644 --- a/tests/exynos/exynos_fimg2d_test.c +++ b/tests/exynos/exynos_fimg2d_test.c @@ -616,10 +616,22 @@ int main(int argc, char **argv) connector_find_mode(dev->fd, &con, resources); drmModeFreeResources(resources); + if (!con.mode) { + fprintf(stderr, "failed to find usable connector\n"); + ret = -EFAULT; + goto err_drm_close; + } + screen_width = con.mode->hdisplay; screen_height = con.mode->vdisplay; - printf("screen width = %d, screen height = %d\n", screen_width, + if (screen_width == 0 || screen_height == 0) { + fprintf(stderr, "failed to find sane resolution on connector\n"); + ret = -EFAULT; + goto err_drm_close; + } + + printf("screen width = %d, screen height = %d\n", screen_width, screen_height); bo = exynos_create_buffer(dev, screen_width * screen_height * 4, 0); -- 2.7.4