summaryrefslogtreecommitdiff
path: root/modules/pam_tally2/pam_tally2.c
diff options
context:
space:
mode:
authorTomas Mraz <tmraz@fedoraproject.org>2016-03-04 14:19:01 +0100
committerTomas Mraz <tmraz@fedoraproject.org>2016-03-04 14:19:01 +0100
commit11db6fd23dee9cf400a260b371edbd6091a96171 (patch)
tree0acb3f5c0a51bf4f2127b8e5ea639e2086dbc1ce /modules/pam_tally2/pam_tally2.c
parent144f8c64cbb906c1f4a7f6bf5fbed16e35ae7bc2 (diff)
Add checks for localtime() returning NULL.
* modules/pam_lastlog/pam_lastlog.c (last_login_read): Check for localtime_r returning NULL. * modules/pam_tally2/pam_tally2.c (print_one): Check for localtime returning NULL.
Diffstat (limited to 'modules/pam_tally2/pam_tally2.c')
-rw-r--r--modules/pam_tally2/pam_tally2.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/modules/pam_tally2/pam_tally2.c b/modules/pam_tally2/pam_tally2.c
index e513f64c..9187cbfd 100644
--- a/modules/pam_tally2/pam_tally2.c
+++ b/modules/pam_tally2/pam_tally2.c
@@ -924,7 +924,7 @@ static void
print_one(const struct tallylog *tally, uid_t uid)
{
static int once;
- char *cp;
+ char *cp = "[UNKNOWN]";
time_t fail_time;
struct tm *tm;
struct passwd *pwent;
@@ -933,9 +933,10 @@ print_one(const struct tallylog *tally, uid_t uid)
pwent = getpwuid(uid);
fail_time = tally->fail_time;
- tm = localtime(&fail_time);
- strftime (ptime, sizeof (ptime), "%D %H:%M:%S", tm);
- cp = ptime;
+ if ((tm = localtime(&fail_time)) != NULL) {
+ strftime (ptime, sizeof (ptime), "%D %H:%M:%S", tm);
+ cp = ptime;
+ }
if (pwent) {
username = pwent->pw_name;
}