Sorry for broken subject.
On Fri, Aug 15, 2014 at 09:05:52PM +0200, Robin Hack wrote:
From 44980f0ef942edf52e73cad1dacc08b507c3a535 Mon Sep 17 00:00:00 2001 From: Robin Hack rhack@redhat.com Date: Fri, 15 Aug 2014 18:44:56 +0200 Subject: [PATCH 3/3] pam_mkhomedir: Code flow fix.
Fixed code: if ((srcfd = open(newsource, O_RDONLY)) < 0 || fstat(srcfd, &st) != 0)
When open() call fails then srcfd is rewriten by -1. So call fstat() on descriptor -1 after have no much sense.
Solved by separating open() and fstat() calls.
modules/pam_mkhomedir/mkhomedir_helper.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules/pam_mkhomedir/mkhomedir_helper.c b/modules/pam_mkhomedir/mkhomedir_helper.c index f426d72..c0a4a14 100644 --- a/modules/pam_mkhomedir/mkhomedir_helper.c +++ b/modules/pam_mkhomedir/mkhomedir_helper.c @@ -228,7 +228,7 @@ create_homedir(const struct passwd *pwd, }
/* Open the source file */
if ((srcfd = open(newsource, O_RDONLY)) < 0 || fstat(srcfd, &st) != 0)
if ((srcfd = open(newsource, O_RDONLY)) < 0) { pam_syslog(NULL, LOG_DEBUG, "unable to open src file %s: %m", newsource);
@@ -241,8 +241,8 @@ create_homedir(const struct passwd *pwd,
return PAM_PERM_DENIED; }
if (stat(newsource, &st) != 0)
- {
if (fstat(srcfd, &st) != 0)
pam_syslog(NULL, LOG_DEBUG, "unable to stat src file %s: %m", newsource); close(srcfd);{
-- 1.9.3
Pam-developers mailing list Pam-developers@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/pam-developers