diff --git a/src/cocoa_joystick.m b/src/cocoa_joystick.m index 0229ccece..a8f12bd09 100644 --- a/src/cocoa_joystick.m +++ b/src/cocoa_joystick.m @@ -29,6 +29,7 @@ #include #include +#include #include #include @@ -287,11 +288,17 @@ static void matchCallback(void* context, CFStringRef name = IOHIDDeviceGetProperty(deviceRef, CFSTR(kIOHIDProductKey)); - CFStringGetCString(name, - joystick->name, - sizeof(joystick->name), - kCFStringEncodingUTF8); - + if (name) + { + CFStringGetCString(name, + joystick->name, + sizeof(joystick->name), + kCFStringEncodingUTF8); + } + else + { + strncpy(joystick->name, "Unknown", sizeof(joystick->name)); + } joystick->axisElements = CFArrayCreateMutable(NULL, 0, NULL); joystick->buttonElements = CFArrayCreateMutable(NULL, 0, NULL); joystick->hatElements = CFArrayCreateMutable(NULL, 0, NULL);