mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 04:26:12 +00:00
ldpd: fix time truncation
Use bigger storage for handling time variables so we don't truncate. Found by Coverity Scan (CID 1519735) Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
This commit is contained in:
parent
d8145114e0
commit
b6ee94b5b1
@ -137,7 +137,7 @@ log_time(time_t t)
|
||||
char *buf;
|
||||
static char tfbuf[TF_BUFS][TF_LEN]; /* ring buffer */
|
||||
static int idx = 0;
|
||||
unsigned int sec, min, hrs, day, week;
|
||||
uint64_t sec, min, hrs, day, week;
|
||||
|
||||
buf = tfbuf[idx++];
|
||||
if (idx == TF_BUFS)
|
||||
@ -155,11 +155,17 @@ log_time(time_t t)
|
||||
week /= 7;
|
||||
|
||||
if (week > 0)
|
||||
snprintf(buf, TF_LEN, "%02uw%01ud%02uh", week, day, hrs);
|
||||
snprintfrr(buf, TF_LEN,
|
||||
"%02" PRIu64 "w%01" PRIu64 "d%02" PRIu64 "h", week,
|
||||
day, hrs);
|
||||
else if (day > 0)
|
||||
snprintf(buf, TF_LEN, "%01ud%02uh%02um", day, hrs, min);
|
||||
snprintfrr(buf, TF_LEN,
|
||||
"%01" PRIu64 "d%02" PRIu64 "h%02" PRIu64 "m", day,
|
||||
hrs, min);
|
||||
else
|
||||
snprintf(buf, TF_LEN, "%02u:%02u:%02u", hrs, min, sec);
|
||||
snprintfrr(buf, TF_LEN,
|
||||
"%02" PRIu64 ":%02" PRIu64 ":%02" PRIu64, hrs, min,
|
||||
sec);
|
||||
|
||||
return (buf);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user