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+...@sardemff7.net> Reviewed-by: Pekka Paalanen <pekka.paala...@collabora.co.uk> Signed-off-by: Armin Krezović <krezovic.ar...@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 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel