diff --git a/xf86drm.c b/xf86drm.c index 35c3566c..dbb7c14b 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -4263,13 +4263,12 @@ drm_public int drmGetDevices2(uint32_t flags, drmDevicePtr devices[], if (!local_devices[i]) continue; - if ((devices != NULL) && (device_count < max_devices)) { + if ((devices != NULL) && (device_count < max_devices)) devices[device_count] = local_devices[i]; - device_count++; - } else { + else drmFreeDevice(&local_devices[i]); - } + device_count++; } closedir(sysdir);