Check for a useable connector and also if the resolution is sane (width and height are both non-zero).
Signed-off-by: Tobias Jakobi <tjakobi at math.uni-bielefeld.de> --- 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 cb021ac..d68f3d1 100644 --- a/tests/exynos/exynos_fimg2d_test.c +++ b/tests/exynos/exynos_fimg2d_test.c @@ -725,10 +725,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.0.5