summaryrefslogtreecommitdiff
path: root/pam
diff options
context:
space:
mode:
authorStefan Walter <stefw@src.gnome.org>2008-12-11 21:19:02 +0000
committerStefan Walter <stefw@src.gnome.org>2008-12-11 21:19:02 +0000
commitca9140424a21b53d9b45330b7587c6e85e7cdb5e (patch)
tree83509ddcacaa756f4caca7dbe958a74716ca0602 /pam
parente961ba28b9c6cd4aafb0df6ce334c2471c0f9c61 (diff)
downloadgnome-keyring-ca9140424a21b53d9b45330b7587c6e85e7cdb5e.tar.gz
Close open file descriptors before running the daemon. Fixes bug #560131
* pam/gkr-pam-module.c: Close open file descriptors before running the daemon. Fixes bug #560131 svn path=/trunk/; revision=1380
Diffstat (limited to 'pam')
-rw-r--r--pam/gkr-pam-module.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/pam/gkr-pam-module.c b/pam/gkr-pam-module.c
index 312677ab..e8c1d183 100644
--- a/pam/gkr-pam-module.c
+++ b/pam/gkr-pam-module.c
@@ -273,7 +273,7 @@ setup_child (int inp[2], int outp[2], int errp[2],
{
char *args[] = { GNOME_KEYRING_DAEMON, "-d", "--login", NULL};
const char* display;
- int ret;
+ int i, ret;
assert (pwd);
assert (pwd->pw_dir);
@@ -290,6 +290,10 @@ setup_child (int inp[2], int outp[2], int errp[2],
strerror (errno));
exit (EXIT_FAILURE);
}
+
+ /* Try valiantly to close unnecessary file descriptors */
+ for (i = STDERR; i < 64; ++i)
+ close (i);
/* Close unnecessary file descriptors */
close (inp[READ_END]);