[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-pam-commits
Subject:    [linux-pam] Avoid memleaks and fd leak in error paths.
From:       tmraz () fedoraproject ! org (=?utf-8?b?VG9tw6HFoSBNcsOheg==?=)
Date:       2011-06-15 19:00:30
Message-ID: 20110615190031.6028012059B () lists ! fedorahosted ! org
[Download RAW message or body]

commit 2daaafacf771746a11849ada2166f8ac2bab1348
Author: Tomas Mraz <tmraz at fedoraproject.org>
Date:   Wed Jun 15 20:58:32 2011 +0200

    Avoid memleaks and fd leak in error paths.

 ChangeLog                             |    4 ++++
 modules/pam_timestamp/pam_timestamp.c |    3 +++
 2 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index fcc56e4..3ab0e9b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,6 +14,10 @@
 	* modules/pam_unix/support.c (_set_ctrl): Do not crash when remember,
 	minlen, or rounds options are used with wrong module type.
 
+	* modules/pam_timestamp/pam_timestamp.c (pam_sm_authenticate): Avoid
+	memleak in error path.
+	(pam_sm_open_session): Avoid memleak and fd leak in error path.
+
 2011-06-14  Thorsten Kukuk  <kukuk at thkukuk.de>
 
 	* configure.in: Check for libtirpc by default.
diff --git a/modules/pam_timestamp/pam_timestamp.c b/modules/pam_timestamp/pam_timestamp.c
index 7bcf3d1..5193733 100644
--- a/modules/pam_timestamp/pam_timestamp.c
+++ b/modules/pam_timestamp/pam_timestamp.c
@@ -483,6 +483,7 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv)
 			pam_syslog(pamh, LOG_NOTICE, "timestamp file `%s' is "
 				"corrupted", path);
 			close(fd);
+			free(mac);
 			free(message);
 			return PAM_AUTH_ERR;
 		}
@@ -636,6 +637,8 @@ pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED, int argc, const char *
 		       "error setting ownership of `%s': %m",
 		       path);
 	  }
+	  close(fd);
+	  free(text);
 	  return PAM_SESSION_ERR;
 	}
 

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic