diff options
author | Stefan Walter <stefw@src.gnome.org> | 2008-12-11 21:19:02 +0000 |
---|---|---|
committer | Stefan Walter <stefw@src.gnome.org> | 2008-12-11 21:19:02 +0000 |
commit | ca9140424a21b53d9b45330b7587c6e85e7cdb5e (patch) | |
tree | 83509ddcacaa756f4caca7dbe958a74716ca0602 /pam | |
parent | e961ba28b9c6cd4aafb0df6ce334c2471c0f9c61 (diff) | |
download | gnome-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.c | 6 |
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]); |