aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2025-10-31 13:04:51 -0400
committerColin Percival <cperciva@FreeBSD.org>2025-11-10 11:00:10 -0800
commitdd1ed088f090ded90a60a47b1eb5dfbacc1e158a (patch)
treed6975e5cc368eeabe8089a45a0e5f754d2a106ac
parent0339b24f8d30f92979c4ec5ba2556cd83cce9e98 (diff)
openssh: Handle localtime_r() failure by return "UNKNOWN-TIME"
Apply openssh-portable commit 8b6c1f402feb by deraadt@openbsd.org Approved by: re (cperciva) Obtained from: openssh-portable PR: 288773 Reported by: wosch Sponsored by: The FreeBSD Foundation (cherry picked from commit ce03706ab26c5770150f1ef96aca36b69baa535f) (cherry picked from commit 0a45aa9e954acc75484d59ad42ee440aa7f034c7)
-rw-r--r--crypto/openssh/misc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/crypto/openssh/misc.c b/crypto/openssh/misc.c
index dd0bd032ae3c..1ed71646ebe4 100644
--- a/crypto/openssh/misc.c
+++ b/crypto/openssh/misc.c
@@ -2535,8 +2535,10 @@ format_absolute_time(uint64_t t, char *buf, size_t len)
time_t tt = t > SSH_TIME_T_MAX ? SSH_TIME_T_MAX : t;
struct tm tm;
- localtime_r(&tt, &tm);
- strftime(buf, len, "%Y-%m-%dT%H:%M:%S", &tm);
+ if (localtime_r(&tt, &tm) == NULL)
+ strlcpy(buf, "UNKNOWN-TIME", len);
+ else
+ strftime(buf, len, "%Y-%m-%dT%H:%M:%S", &tm);
}
/*