commit 2daaafacf771746a11849ada2166f8ac2bab1348
Author: Tomas Mraz <tmraz(a)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(a)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;
}
Show replies by date