Our Windows implementation based on vsnprintf_s( ..., _TRUNCATE ) sometimes writes *two* terminating NULLs. Allow for that, but obviously bytes past the end of the buffer mustn't be touched.