From 8769c76e59ec448bc081f4e89f68622e7185f884 Mon Sep 17 00:00:00 2001 From: Marius Vlad Date: Wed, 9 Sep 2020 18:00:22 +0300 Subject: [PATCH] layout: If no valid output found, abort early with a protocol violation Spotted by code inspection, but haven't seen in the wild. Bug-AGL: SPEC-3544 Signed-off-by: Marius Vlad Change-Id: Ie1f0191e7c987c1688c820e1cabbc581b3679232 --- src/layout.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/layout.c b/src/layout.c index fa49163..b7f9d4a 100644 --- a/src/layout.c +++ b/src/layout.c @@ -316,6 +316,15 @@ ivi_layout_desktop_committed(struct ivi_surface *surf) if (!r_output) r_output = ivi_layout_find_bg_output(surf->ivi); + /* if we couldn't still find an output by this point, there's + * something wrong so we abort with a protocol error */ + if (!r_output) { + wl_resource_post_error(surf->ivi->shell_client.resource, + AGL_SHELL_ERROR_INVALID_ARGUMENT, + "No valid output found to activate surface by default"); + return; + } + /* use the output of the bg to activate the app on start-up by * default */ if (surf->view && r_output) { -- 2.16.6