From b426a3d7c07c9ffd53141ebd03dcd5e82ff4e52a Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Sat, 5 Nov 2022 19:31:59 +0100 Subject: Fix two rare potential bugs (NULL pointer dereferencing) Both bugs can happen if a widget doesn't have an associated window() or in similar situations. These fixes returns NULL to prevent crashes. Bugs observed in special test scenarios, not real-life programs. --- src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx | 1 + 1 file changed, 1 insertion(+) (limited to 'src/drivers') diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx index d3df1494b..3b1e7bbf8 100644 --- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx @@ -980,6 +980,7 @@ Fl_X *Fl_Wayland_Window_Driver::makeWindow() Fl_Wayland_Screen_Driver::output *output; wait_for_expose_value = 1; + if (pWindow->parent() && !pWindow->window()) return NULL; if (pWindow->parent() && !pWindow->window()->shown()) return NULL; new_window = (struct wld_window *)calloc(1, sizeof *new_window); -- cgit v1.2.3