On 2023-03-11 13:59, Alejandro Colomar wrote:
If the function is allowed to dereference, then NULL is not allowed, but if the values are uninitialized, then reading any of them should also trigger UB, no?
Sure, but the standard says that strftime reads only the struct tm members needed to interpret the format. If the format contains no conversion specs, strftime reads no struct tm members and thus there is no UB even if the struct tm is entirely uninitialized.