[PATCH weston 03/12] toytoolkit: Return NULL when no outputs are present

Armin Krezović krezovic.armin at gmail.com
Thu Jun 23 09:59:31 UTC 2016


Currently, display_get_output returns a first member
of the linked list, which can never be NULL.

This is problematic, as the function would return a
dangling pointer and NULL pointer checks wouldn't
work where needed and some of the invalid members
would get accessed that way, resulting in a crash.

Reviewed-by: Quentin Glidic <sardemff7+git at sardemff7.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Signed-off-by: Armin Krezović <krezovic.armin at gmail.com>
---
 clients/window.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/clients/window.c b/clients/window.c
index b5b598f..4de73ed 100644
--- a/clients/window.c
+++ b/clients/window.c
@@ -5845,6 +5845,9 @@ display_get_cairo_device(struct display *display)
 struct output *
 display_get_output(struct display *display)
 {
+	if (wl_list_empty(&display->output_list))
+		return NULL;
+
 	return container_of(display->output_list.next, struct output, link);
 }
 
-- 
2.9.0



More information about the wayland-devel mailing list