[PATCH] [xorg/xserver] os/client: Prevent rare fd leak in DetermineClientPid
Erkki Seppälä
erkki.seppala at vincit.fi
Thu Mar 24 06:46:39 PDT 2011
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.seppala at vincit.fi>
Reviewed-by: Rami Ylimäki <rami.ylimaki at 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
More information about the xorg-devel
mailing list