You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.8 KiB
86 lines
2.8 KiB
diff -up shadow-4.1.5.1/src/faillog.c.null-tm shadow-4.1.5.1/src/faillog.c |
|
--- shadow-4.1.5.1/src/faillog.c.null-tm 2011-11-19 23:54:47.000000000 +0100 |
|
+++ shadow-4.1.5.1/src/faillog.c 2016-06-14 11:54:58.582314219 +0200 |
|
@@ -163,10 +163,14 @@ static void print_one (/*@null@*/const s |
|
} |
|
|
|
tm = localtime (&fl.fail_time); |
|
+ if (tm == NULL) { |
|
+ cp = "(unknown)"; |
|
+ } else { |
|
#ifdef HAVE_STRFTIME |
|
- strftime (ptime, sizeof (ptime), "%D %H:%M:%S %z", tm); |
|
- cp = ptime; |
|
+ strftime (ptime, sizeof (ptime), "%D %H:%M:%S %z", tm); |
|
+ cp = ptime; |
|
#endif |
|
+ } |
|
printf ("%-9s %5d %5d ", |
|
pw->pw_name, fl.fail_cnt, fl.fail_max); |
|
/* FIXME: cp is not defined ifndef HAVE_STRFTIME */ |
|
diff -up shadow-4.1.5.1/src/chage.c.null-tm shadow-4.1.5.1/src/chage.c |
|
--- shadow-4.1.5.1/src/chage.c.null-tm 2016-05-04 13:44:55.639787900 +0200 |
|
+++ shadow-4.1.5.1/src/chage.c 2016-06-14 11:54:58.583314243 +0200 |
|
@@ -168,6 +168,10 @@ static void date_to_str (char *buf, size |
|
struct tm *tp; |
|
|
|
tp = gmtime (&date); |
|
+ if (tp == NULL) { |
|
+ (void) snprintf (buf, maxsize, "(unknown)"); |
|
+ return; |
|
+ } |
|
#ifdef HAVE_STRFTIME |
|
(void) strftime (buf, maxsize, "%Y-%m-%d", tp); |
|
#else |
|
diff -up shadow-4.1.5.1/src/lastlog.c.null-tm shadow-4.1.5.1/src/lastlog.c |
|
--- shadow-4.1.5.1/src/lastlog.c.null-tm 2016-05-04 13:44:55.647788082 +0200 |
|
+++ shadow-4.1.5.1/src/lastlog.c 2016-06-14 11:54:58.584314267 +0200 |
|
@@ -165,13 +165,17 @@ static void print_one (/*@null@*/const s |
|
|
|
ll_time = ll.ll_time; |
|
tm = localtime (&ll_time); |
|
+ if (tm == NULL) { |
|
+ cp = "(unknown)"; |
|
+ } else { |
|
#ifdef HAVE_STRFTIME |
|
- strftime (ptime, sizeof (ptime), "%a %b %e %H:%M:%S %z %Y", tm); |
|
- cp = ptime; |
|
+ strftime (ptime, sizeof (ptime), "%a %b %e %H:%M:%S %z %Y", tm); |
|
+ cp = ptime; |
|
#else |
|
- cp = asctime (tm); |
|
- cp[24] = '\0'; |
|
+ cp = asctime (tm); |
|
+ cp[24] = '\0'; |
|
#endif |
|
+ } |
|
|
|
if (ll.ll_time == (time_t) 0) { |
|
cp = _("**Never logged in**\0"); |
|
diff -up shadow-4.1.5.1/src/passwd.c.null-tm shadow-4.1.5.1/src/passwd.c |
|
--- shadow-4.1.5.1/src/passwd.c.null-tm 2016-05-04 13:44:55.634787787 +0200 |
|
+++ shadow-4.1.5.1/src/passwd.c 2016-06-14 11:54:58.584314267 +0200 |
|
@@ -438,6 +438,9 @@ static /*@observer@*/const char *date_to |
|
struct tm *tm; |
|
|
|
tm = gmtime (&t); |
|
+ if (tm == NULL) { |
|
+ return "(unknown)"; |
|
+ } |
|
#ifdef HAVE_STRFTIME |
|
(void) strftime (buf, sizeof buf, "%m/%d/%Y", tm); |
|
#else /* !HAVE_STRFTIME */ |
|
diff -up shadow-4.1.5.1/src/usermod.c.null-tm shadow-4.1.5.1/src/usermod.c |
|
--- shadow-4.1.5.1/src/usermod.c.null-tm 2016-05-04 13:44:55.648788104 +0200 |
|
+++ shadow-4.1.5.1/src/usermod.c 2016-06-14 11:54:58.585314291 +0200 |
|
@@ -186,6 +186,10 @@ static void date_to_str (/*@unique@*//*@ |
|
} else { |
|
time_t t = (time_t) date; |
|
tp = gmtime (&t); |
|
+ if (tp == NULL) { |
|
+ strncpy (buf, "unknown", maxsize); |
|
+ return; |
|
+ } |
|
#ifdef HAVE_STRFTIME |
|
strftime (buf, maxsize, "%Y-%m-%d", tp); |
|
#else
|
|
|