From 6cbdc666509e7a9fb581cf2fcb6c348e20eae6ba Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Thu, 22 Sep 2022 09:05:06 -0700 Subject: [PATCH] Fixed use of uninitialized 'size' variable (thanks @ozkan!) --- src/hidapi/mac/hid.c | 12 +----------- src/joystick/hidapi/SDL_hidapi_ps4.c | 2 +- src/joystick/hidapi/SDL_hidapi_ps5.c | 2 +- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/hidapi/mac/hid.c b/src/hidapi/mac/hid.c index 4ea6bdb6a..35ca38037 100644 --- a/src/hidapi/mac/hid.c +++ b/src/hidapi/mac/hid.c @@ -130,7 +130,6 @@ struct hid_device_list_node static IOHIDManagerRef hid_mgr = 0x0; static struct hid_device_list_node *device_list = 0x0; -static int hid_input_monitoring_denied = 0; static hid_device *new_hid_device(void) { @@ -522,11 +521,7 @@ struct hid_device_info HID_API_EXPORT *hid_enumerate(unsigned short vendor_id, /* Set up the HID Manager if it hasn't been done */ if (hid_init() < 0) return NULL; - - /* If we don't have permission to open devices, don't enumerate them */ - if (hid_input_monitoring_denied) - return NULL; - + /* give the IOHIDManager a chance to update itself */ process_pending_events(); @@ -867,11 +862,6 @@ hid_device * HID_API_EXPORT hid_open_path(const char *path, int bExclusive) return dev; } - else if (ret == kIOReturnNotPermitted) { - /* This application doesn't have input monitoring permissions */ - hid_input_monitoring_denied = 1; - goto return_error; - } else { goto return_error; } diff --git a/src/joystick/hidapi/SDL_hidapi_ps4.c b/src/joystick/hidapi/SDL_hidapi_ps4.c index 63da2787d..e927ec7b3 100644 --- a/src/joystick/hidapi/SDL_hidapi_ps4.c +++ b/src/joystick/hidapi/SDL_hidapi_ps4.c @@ -556,7 +556,7 @@ HIDAPI_DriverPS4_OpenJoystick(SDL_HIDAPI_Device *device, SDL_Joystick *joystick) ctx->effects_supported = SDL_TRUE; ctx->sensors_supported = SDL_TRUE; ctx->touchpad_supported = SDL_TRUE; - } else if (ReadFeatureReport(device->dev, k_ePS4FeatureReportIdCapabilities, data, sizeof(data)) == 48 && + } else if ((size = ReadFeatureReport(device->dev, k_ePS4FeatureReportIdCapabilities, data, sizeof(data))) == 48 && data[2] == 0x27) { Uint8 capabilities = data[4]; diff --git a/src/joystick/hidapi/SDL_hidapi_ps5.c b/src/joystick/hidapi/SDL_hidapi_ps5.c index f3ac145da..bb03cbf8a 100644 --- a/src/joystick/hidapi/SDL_hidapi_ps5.c +++ b/src/joystick/hidapi/SDL_hidapi_ps5.c @@ -713,7 +713,7 @@ HIDAPI_DriverPS5_OpenJoystick(SDL_HIDAPI_Device *device, SDL_Joystick *joystick) ctx->effects_supported = SDL_TRUE; ctx->sensors_supported = SDL_TRUE; ctx->touchpad_supported = SDL_TRUE; - } else if (ReadFeatureReport(device->dev, k_EPS5FeatureReportIdCapabilities, data, sizeof(data)) == 48 && + } else if ((size = ReadFeatureReport(device->dev, k_EPS5FeatureReportIdCapabilities, data, sizeof(data))) == 48 && data[2] == 0x28) { Uint8 capabilities = data[4];