From 7aba6c4c735a072ee019df94c5fda9057f6dbcd7 Mon Sep 17 00:00:00 2001
From: ImThour <[EMAIL REDACTED]>
Date: Mon, 10 Feb 2025 01:15:41 +0530
Subject: [PATCH] Proper Resource Cleanup in WIN_UpdateWindowShape
mask is created but never deleted if SetWindowRgn() fails. This may lead to resource leaks.
---
src/video/windows/SDL_windowsshape.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/video/windows/SDL_windowsshape.c b/src/video/windows/SDL_windowsshape.c
index 2c3f1cc2b6e1c..db4e4a0e719bb 100644
--- a/src/video/windows/SDL_windowsshape.c
+++ b/src/video/windows/SDL_windowsshape.c
@@ -116,6 +116,7 @@ bool WIN_UpdateWindowShape(SDL_VideoDevice *_this, SDL_Window *window, SDL_Surfa
}
}
if (!SetWindowRgn(data->hwnd, mask, TRUE)) {
+ DeleteObject(mask);
return WIN_SetError("SetWindowRgn failed");
}
return true;