strftime() in the 2024b tzcode distribution includes if (!p) { errno = EOVERFLOW; return 0; } AFAICS this is dead code, except maybe in the case that the call passes s = NULL, maxsize = 0, which doesn't seem like a case that the code intends to support (and EOVERFLOW would be a rather odd choice of error code if that's the idea). newstrftime.3.txt offers a clue about the intent: This function may fail if: [EOVERFLOW] The format includes an %s conversion and the number of seconds since the Epoch cannot be represented in a time_t. But the %s conversion code never returns zero. There's a suggestive comment there: /* If mktime fails, %s expands to the value of (time_t) -1 as a failure marker; this is better in practice than strftime failing. */ So it looks to me like somebody changed the error handling in the %s stanza but didn't bother to remove the now-dead path in the caller nor update the man page. Am I missing something? regards, tom lane