From 4726270ead9b2711c37af33433bb10e6256c7c5c Mon Sep 17 00:00:00 2001 From: Ozkan Sezer Date: Sat, 8 Oct 2022 23:01:28 +0300 Subject: [PATCH] WIN_GetDrawableSize: avoid NULL pointer dereference Fixes https://github.com/libsdl-org/SDL/issues/6356 --- src/video/windows/SDL_windowswindow.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/video/windows/SDL_windowswindow.c b/src/video/windows/SDL_windowswindow.c index eb536bbe4..3fd329019 100644 --- a/src/video/windows/SDL_windowswindow.c +++ b/src/video/windows/SDL_windowswindow.c @@ -1408,10 +1408,16 @@ WIN_SetWindowOpacity(_THIS, SDL_Window * window, float opacity) void WIN_GetDrawableSize(const SDL_Window *window, int *w, int *h) { - const SDL_WindowData *data = ((SDL_WindowData *)window->driverdata); - HWND hwnd = data->hwnd; + HWND hwnd; RECT rect; + if (!window || !(window->driverdata)) { + *w = 0; + *h = 0; + return; + } + + hwnd = ((SDL_WindowData *)window->driverdata)->hwnd; if (GetClientRect(hwnd, &rect)) { *w = rect.right; *h = rect.bottom;