Page MenuHomeFreeBSD

D36474.diff
No OneTemporary

D36474.diff

diff --git a/bin/ls/print.c b/bin/ls/print.c
--- a/bin/ls/print.c
+++ b/bin/ls/print.c
@@ -432,18 +432,17 @@
(void)printf("%#*jx ", (u_int)width, (uintmax_t)dev);
}
-static size_t
+static void
ls_strftime(char *str, size_t len, const char *fmt, const struct tm *tm)
{
char *posb, nfmt[BUFSIZ];
const char *format = fmt;
- size_t ret;
if ((posb = strstr(fmt, "%b")) != NULL) {
if (month_max_size == 0) {
compute_abbreviated_month_size();
}
- if (month_max_size > 0) {
+ if (month_max_size > 0 && tm != NULL) {
snprintf(nfmt, sizeof(nfmt), "%.*s%s%*s%s",
(int)(posb - fmt), fmt,
get_abmon(tm->tm_mon),
@@ -453,8 +452,10 @@
format = nfmt;
}
}
- ret = strftime(str, len, format, tm);
- return (ret);
+ if (tm != NULL)
+ strftime(str, len, format, tm);
+ else
+ strlcpy(str, "bad date val", len);
}
static void
diff --git a/usr.bin/find/ls.c b/usr.bin/find/ls.c
--- a/usr.bin/find/ls.c
+++ b/usr.bin/find/ls.c
@@ -88,6 +88,7 @@
static time_t lnow;
const char *format;
static int d_first = -1;
+ struct tm *tm;
#ifdef D_MD_ORDER
if (d_first < 0)
@@ -103,7 +104,10 @@
else
/* mmm dd yyyy || dd mmm yyyy */
format = d_first ? "%e %b %Y " : "%b %e %Y ";
- strftime(longstring, sizeof(longstring), format, localtime(&ftime));
+ if ((tm = localtime(&ftime)) != NULL)
+ strftime(longstring, sizeof(longstring), format, tm);
+ else
+ strlcpy(longstring, "bad date val ", sizeof(longstring));
fputs(longstring, stdout);
}

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 17, 12:24 PM (21 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14677238
Default Alt Text
D36474.diff (1 KB)

Event Timeline