SDL: Fixed memory leak in XInput code

From 3e4d7e48b0a87b2c1df26ad62c8152ba6c064024 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Mon, 6 Nov 2023 00:40:19 -0800
Subject: [PATCH] Fixed memory leak in XInput code

Fixes https://github.com/libsdl-org/SDL/issues/3597
---
 src/joystick/windows/SDL_xinputjoystick.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/joystick/windows/SDL_xinputjoystick.c b/src/joystick/windows/SDL_xinputjoystick.c
index b5369bb616cd..253e7e108682 100644
--- a/src/joystick/windows/SDL_xinputjoystick.c
+++ b/src/joystick/windows/SDL_xinputjoystick.c
@@ -552,6 +552,12 @@ void SDL_XINPUT_JoystickClose(SDL_Joystick *joystick)
 
 void SDL_XINPUT_JoystickQuit(void)
 {
+    int iuserid;
+
+    for (iuserid = 0; iuserid < XUSER_MAX_COUNT; ++iuserid) {
+        DelXInputDevice(iuserid);
+    }
+
     if (s_bXInputEnabled) {
         WIN_UnloadXInputDLL();
     }