diff --git a/input/drivers_hid/iohidmanager_hid.c b/input/drivers_hid/iohidmanager_hid.c index 151b4dbedd..c5e0f8f518 100644 --- a/input/drivers_hid/iohidmanager_hid.c +++ b/input/drivers_hid/iohidmanager_hid.c @@ -702,6 +702,8 @@ static void iohidmanager_hid_device_add_device( kCFAllocatorDefault,(CFIndex)count,elements_raw); range = CFRangeMake(0,count); + CFRelease(elements_raw); + CFArraySortValues(elements, range, iohidmanager_sort_elements, NULL); @@ -861,6 +863,8 @@ static void iohidmanager_hid_device_add_device( } } + CFRelease(elements); + /* take care of buttons/axes with duplicate 'use' values */ for (i = 0; i < 11; i++) {