aboutsummaryrefslogtreecommitdiff
path: root/modules/pam_mkhomedir
diff options
context:
space:
mode:
authorikerexxe <ipedrosa@redhat.com>2020-06-29 15:40:40 +0200
committerDmitry V. Levin <ldv@altlinux.org>2020-07-01 09:54:22 +0000
commit2bae5daf16d4466185fac89539d653b269a3ea01 (patch)
treedea0eb06840d2d3115df076d90680b0e6a174de6 /modules/pam_mkhomedir
parenta6a1b9f788a79b2a09827c72a755f471c2e05100 (diff)
downloadpam-2bae5daf16d4466185fac89539d653b269a3ea01.tar.gz
pam-2bae5daf16d4466185fac89539d653b269a3ea01.tar.bz2
pam-2bae5daf16d4466185fac89539d653b269a3ea01.zip
pam_namespace, pam_mkhomedir: fix unlikely descriptor leaks on error path
[ldv: rewrote commit message] * modules/pam_mkhomedir/mkhomedir_helper.c (create_homedir): Close just opened file descriptor "srcfd" in an unlikely case when it cannot be fstat'ed. * modules/pam_namespace/pam_namespace.c (create_instance): Close just opened file descriptor "fd" in an unlikely case when it cannot be fstat'ed.
Diffstat (limited to 'modules/pam_mkhomedir')
-rw-r--r--modules/pam_mkhomedir/mkhomedir_helper.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/modules/pam_mkhomedir/mkhomedir_helper.c b/modules/pam_mkhomedir/mkhomedir_helper.c
index 8969da52..91bf49a3 100644
--- a/modules/pam_mkhomedir/mkhomedir_helper.c
+++ b/modules/pam_mkhomedir/mkhomedir_helper.c
@@ -232,6 +232,8 @@ create_homedir(const struct passwd *pwd,
{
pam_syslog(NULL, LOG_DEBUG,
"unable to open or stat src file %s: %m", newsource);
+ if (srcfd >= 0)
+ close(srcfd);
closedir(d);
#ifndef PATH_MAX