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. --- FL/platform.H | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'FL/platform.H') diff --git a/FL/platform.H b/FL/platform.H index fbabca2fb..7dfa4a186 100644 --- a/FL/platform.H +++ b/FL/platform.H @@ -57,7 +57,7 @@ public: Fl_X *next; // static variables, static functions and member functions static Fl_X* first; - static Fl_X* i(const Fl_Window* w) {return (Fl_X*)w->i;} + static Fl_X* i(const Fl_Window* w) {return w ? (Fl_X*)w->i : 0;} # if defined(FLTK_USE_X11) && FLTK_USE_X11 // for backward compatibility static void make_xid(Fl_Window*, XVisualInfo* =fl_visual, Colormap=fl_colormap); static Fl_X* set_xid(Fl_Window*, Window); -- cgit v1.2.3