My TZ is set to ":/usr/share/zoneinfo/Europe/Prague" which overruns buffer.
char oldtz = "";
#0 __strcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S:124
#1 0x00007ffff7abf22b in set_tz (tz=0x1cb9e08 ":/usr/share/zoneinfo/Europe/Prague", oldtz=0x7ffffffe50c0 ":/usr/share/zoneinfo/Europe/Prague\r\001") at /usr/include/bits/string3.h:105
#2 0x00007ffff7ac2f5f in do_asPOSIXlt (call=<optimized out>, op=<optimized out>, args=<optimized out>, env=<optimized out>) at datetime.c:684
#3 0x00007ffff7b0272b in bcEval (body=<optimized out>, rho=<optimized out>, useCache=<optimized out>) at eval.c:4430
We don't actually have an R code example to reproduce, but the limit is now checked (and raised).