On 18/06/2016 19:15, Armin Krezović wrote:
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.

Signed-off-by: Armin Krezović <[email protected]>
---
 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);
 }



Good.
Reviewed-by: Quentin Glidic <[email protected]>

Cheers,

--

Quentin “Sardem FF7” Glidic
_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to