[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