Mesa (master): winsys/radeon: don't leak the fd when it is 0

Emil Velikov evelikov at kemper.freedesktop.org
Sat Aug 1 14:56:45 UTC 2015


Module: Mesa
Branch: master
Commit: 1307be519b8785249ee863a22115930299ff642a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1307be519b8785249ee863a22115930299ff642a

Author: Emil Velikov <emil.l.velikov at gmail.com>
Date:   Wed Jul 29 15:44:32 2015 +0100

winsys/radeon: don't leak the fd when it is 0

Earlier commit added an extra dup(fd) to fix a ZaphodHeads issue.
Although it did not consider the (very unlikely) case where we might end
up with the valid fd == 0.

Fixes: 28dda47ae4d(winsys/radeon: Use dup fd as key in drm-winsys hash
table to fix ZaphodHeads.)

Cc: 10.6 <mesa-stable at lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Mario Kleiner <mario.kleiner.de at gmail.com>

---

 src/gallium/winsys/radeon/drm/radeon_drm_winsys.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
index 41f8826..f7784fb 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
@@ -493,7 +493,7 @@ static void radeon_winsys_destroy(struct radeon_winsys *rws)
         radeon_surface_manager_free(ws->surf_man);
     }
 
-    if (ws->fd)
+    if (ws->fd >= 0)
         close(ws->fd);
 
     FREE(rws);
@@ -786,7 +786,7 @@ fail:
         ws->kman->destroy(ws->kman);
     if (ws->surf_man)
         radeon_surface_manager_free(ws->surf_man);
-    if (ws->fd)
+    if (ws->fd >= 0)
         close(ws->fd);
 
     FREE(ws);




More information about the mesa-commit mailing list