[Asterisk-Dev] [RFC] strncpy -> ast_copy_string

Steve Underwood steveu at coppice.org
Sun May 1 19:38:04 MST 2005


Hey, they changed it. strncpy never used to do that :-\ I wonder if that 
was to avoid some securiy issues with what might have remained in the 
buffer. Whatever, I don't agree with changing the behaviour of well 
estabilished functions. That sucks.

Regards,
Steve


Kevin P. Fleming wrote:

> Steve Underwood wrote:
>
>> I think you need to look up the definition of the strncpy function. 
>> It doesn't zero fill anything. It only copies what is needed.
>
>
> 'man strncpy' on a recent Linux box contains:
>
> DESCRIPTION
>        The  strcpy() function copies the string pointed to by src 
> (including the terminating ‘\0' character) to the array pointed to by
>        dest.  The strings may not overlap, and the destination string 
> dest must be large enough to receive the copy.
>
>        The strncpy() function is similar, except that not more than n 
> bytes of src are copied. Thus, if there is no null byte among the
>        first n bytes of src, the result will not be null-terminated.
>
>        In the case where the length of src is less than that of n, the 
> remainder of dest will be padded with nulls.





More information about the asterisk-dev mailing list