From b131e74be4923cbb2f8dd271f10c2ef228efb593 Mon Sep 17 00:00:00 2001 From: Gabriel Jacobo Date: Tue, 21 Jan 2014 18:20:12 -0300 Subject: [PATCH] Fixes 2356, [Android] SDL_JoystickGetAttached does not function Also fix a potential NULL pointer access in android/SDL_SYS_JoystickGetGUID --- src/joystick/android/SDL_sysjoystick.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/joystick/android/SDL_sysjoystick.c b/src/joystick/android/SDL_sysjoystick.c index 0772eaed251e2..229a48dca0b0d 100644 --- a/src/joystick/android/SDL_sysjoystick.c +++ b/src/joystick/android/SDL_sysjoystick.c @@ -284,6 +284,10 @@ Android_RemoveJoystick(int device_id) } const int retval = item->device_instance; + if (item->joystick) { + item->joystick->hwdata = NULL; + } + if (prev != NULL) { prev->next = item->next; } else { @@ -507,7 +511,14 @@ SDL_JoystickGUID SDL_SYS_JoystickGetDeviceGUID( int device_index ) SDL_JoystickGUID SDL_SYS_JoystickGetGUID(SDL_Joystick * joystick) { - return ((SDL_joylist_item*)joystick->hwdata)->guid; + SDL_JoystickGUID guid; + + if (joystick->hwdata != NULL) { + return ((SDL_joylist_item*)joystick->hwdata)->guid; + } + + SDL_zero(guid); + return guid; } #endif /* SDL_JOYSTICK_ANDROID */