DetermineClientPid didn't close file descriptor if read on
/proc/pid/cmdline failed. Added close to that path of code.

Signed-off-by: Erkki Seppälä <erkki.sepp...@vincit.fi>
Reviewed-by: Rami Ylimäki <rami.ylim...@vincit.fi>
---
 os/client.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/os/client.c b/os/client.c
index 1311855..5c05f9b 100644
--- a/os/client.c
+++ b/os/client.c
@@ -140,8 +140,10 @@ void DetermineClientCmd(pid_t pid, const char **cmdname, 
const char **cmdargs)
     /* Read the contents of /proc/pid/cmdline. It should contain the
      * process name and arguments. */
     totsize = read(fd, path, sizeof(path));
-    if (totsize <= 0)
+    if (totsize <= 0) {
+        close(fd);
         return;
+    }
     if (close(fd) < 0)
         return;
     path[totsize - 1] = '\0';
-- 
1.7.0.4

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to