Commit d73bd0d2f68ab65b6e9f110720880b271fc3dbef

Cameron Gutman 2022-01-03T21:39:30

dinput: Don't crash in SDL_DINPUT_JoystickPresent if DInput init failed The WGI driver will call this regardless of whether our init succeeded.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
diff --git a/src/joystick/windows/SDL_dinputjoystick.c b/src/joystick/windows/SDL_dinputjoystick.c
index 843e4c3..c2f53a9 100644
--- a/src/joystick/windows/SDL_dinputjoystick.c
+++ b/src/joystick/windows/SDL_dinputjoystick.c
@@ -585,6 +585,10 @@ SDL_DINPUT_JoystickPresent(Uint16 vendor_id, Uint16 product_id, Uint16 version_n
 {
     Joystick_PresentData data;
 
+    if (dinput == NULL) {
+        return SDL_FALSE;
+    }
+
     data.vendor = vendor_id;
     data.product = product_id;
     data.present = SDL_FALSE;