[libdrm][PATCH 3/2] Fix always true comparison.

Jan Vesely jan.vesely at rutgers.edu
Mon Feb 9 16:10:43 PST 2015


The only user I found is xserver, it can return -1 under certain conditions.
So check for -1 explicitly.

Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
---

I could not find whether it's actually legal to return encoded negative values
in get_perm. This is a quick fix to detect the one case that I found.

 xf86drm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xf86drm.c b/xf86drm.c
index fb673b5..8e54ac9 100644
--- a/xf86drm.c
+++ b/xf86drm.c
@@ -335,7 +335,7 @@ static int drmOpenDevice(dev_t dev, int minor, int type)
 	drm_server_info->get_perms(&serv_group, &serv_mode);
 	devmode  = serv_mode ? serv_mode : DRM_DEV_MODE;
 	devmode &= ~(S_IXUSR|S_IXGRP|S_IXOTH);
-	group = (serv_group >= 0) ? serv_group : DRM_DEV_GID;
+	group = (serv_group != ~0U) ? serv_group : DRM_DEV_GID;
     }
 
 #if !defined(UDEV)
-- 
2.1.0



More information about the dri-devel mailing list