int int_value; if(length <= sizeof(CFIndex)) int_value = IOHIDValueGetIntegerValue(value);
If the condition is false then int_value is uninitialized, isn't it? Also, under what circumstances is length > sizeof(CFIndex) - is there a better test to do, maybe with IOHIDValueGetTypeID?