[asterisk-dev] seanbright: tools/trunk	r5656	-	/tools/trunk/dahdi_monitor.c
    Russell Bryant 
    russell at digium.com
       
    Wed Jan 14 09:01:52 CST 2009
    
    
  
Kevin P. Fleming wrote:
> Sean Bright wrote:
> 
>> The code in question is copying a string into the _middle_ of another
>> string, and strcpy would copy the null byte at the end of the source
>> string as well, resulting in the same situation we had with
>> dahdi_copy_string.  strncpy allows us to specifically exclude the
>> terminator.
Oops.  :)
> Then if you know exactly how many bytes you want to copy, and that the
> source string has that many bytes (you will not run off the end of the
> buffer), just use memcpy() :-)
Yeah, I'd go this route.  I find the fact that strncpy() does _not_ 
guarantee the null terminator to be kind of bizarre and unexpected.
-- 
Russell Bryant
Digium, Inc. | Senior Software Engineer, Open Source Team Lead
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: www.digium.com & www.asterisk.org
    
    
More information about the asterisk-dev
mailing list