On 3/25/18 3:54 PM, Tom Lane wrote:
> David Steele <da...@pgmasters.net> writes:
>> On 3/25/18 3:22 PM, Tom Lane wrote:
>>> Actually, that code didn't guarantee zero termination under *any*
>>> circumstances; it only happened to work if the stack contained
>>> zeroes to start with.
> 
>> Interesting.  strncpy() says it will pad the destination with NULLs when
>> src is less than the size provided.  Perhaps some compilers don't honor
>> that?
> 
> Yeah, but the "size provided" was the number of characters to be copied
> from the source string, not the size of the destination buffer.  So
> strncpy didn't think it needed to add any nulls.  There's a reason why
> that function is widely disliked --- it's hard to use it in a safe way.

Whoops, how right you are.  I'm generally passing destination buffer
size in these cases and totally misread what this was doing.

-- 
-David
da...@pgmasters.net

Reply via email to