Commit 9c41e1ca authored by Ondrej Zajicek (work)'s avatar Ondrej Zajicek (work)
Browse files

Lib: Fix handling of buffers in timestamp formatting

The code in tm_format_real_time() mixed up two buffers and their
sizes, which may cause crash in MRT dumping code.

Thanks to Piotr Wydrych for the bugreport.
parent a2277975
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -365,8 +365,9 @@ tm_format_real_time(char *x, size_t max, const char *fmt, btime t)
  if (!localtime_r(&ts, &tm))
    return 0;

  byte tbuf[TM_DATETIME_BUFFER_SIZE];
  if (!strfusec(tbuf, max, fmt, t2))
  size_t tbuf_size = MIN(max, 4096);
  byte *tbuf = alloca(tbuf_size);
  if (!strfusec(tbuf, tbuf_size, fmt, t2))
    return 0;

  if (!strftime(x, max, tbuf, &tm))