On 11/06/2021 17.59, Jia He wrote: > After the behaviour of specifier '%pD' is changed to print full path > of struct file, the related test cases are also updated. > > Given the string is prepended from the end of the buffer, the check > of "wrote beyond the nul-terminator" should be skipped. Sorry, that is far from enough justification. I should probably have split the "wrote beyond nul-terminator" check in two: One that checks whether any memory beyond the buffer given to vsnprintf() was touched (including all the padding, but possibly more for the cases where we pass a known-too-short buffer), symmetric to the "wrote before buffer" check. And then another that checks the area between the '\0' and the end of the given buffer - I suppose that it's fair game for vsnprintf to use all of that as scratch space, and for that it could be ok to add that boolean knob. Rasmus