[PATCH libdrm 1/2] Return an -ENODEV from drmGetDevice() when no device was found.

From: Eric Anholt
Date: Fri Oct 21 2016 - 13:12:51 EST


From: Rob Herring <robh@xxxxxxxxxx>

Fixes crashes in Mesa on platform device, which expected *device to
have a device when 0 was returned.

(code from a paste by Rob, commit message by anholt)

Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>
---
xf86drm.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/xf86drm.c b/xf86drm.c
index 9cfca49ddfda..9b52889e4cef 100644
--- a/xf86drm.c
+++ b/xf86drm.c
@@ -3181,6 +3181,8 @@ int drmGetDevice(int fd, drmDevicePtr *device)

closedir(sysdir);
free(local_devices);
+ if (*device == NULL)
+ return -ENODEV;
return 0;

free_devices:
--
2.9.3