SDL: Memory Leak in WIN_CreateHCursor When CreateColorBitmap Fails

From ca9a044b3efdd62fef5fb1fdb90e703453ccc004 Mon Sep 17 00:00:00 2001
From: ImThour <[EMAIL REDACTED]>
Date: Sun, 9 Feb 2025 22:52:33 +0530
Subject: [PATCH] Memory Leak in WIN_CreateHCursor When CreateColorBitmap Fails

---
 src/video/windows/SDL_windowsmouse.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/video/windows/SDL_windowsmouse.c b/src/video/windows/SDL_windowsmouse.c
index a0e9c2550f10d..6747f454c3752 100644
--- a/src/video/windows/SDL_windowsmouse.c
+++ b/src/video/windows/SDL_windowsmouse.c
@@ -210,6 +210,12 @@ static HCURSOR WIN_CreateHCursor(SDL_Surface *surface, int hot_x, int hot_y)
 
     if (!ii.hbmMask || (!is_monochrome && !ii.hbmColor)) {
         SDL_SetError("Couldn't create cursor bitmaps");
+        if (ii.hbmMask) {
+            DeleteObject(ii.hbmMask);
+        }
+        if (ii.hbmColor) {
+            DeleteObject(ii.hbmColor);
+        }
         return NULL;
     }