[Python-Dev] cpython: Use strncat() instead of strcat() to silence some warnings. (original) (raw)

Serhiy Storchaka storchaka at gmail.com
Sat Jul 20 15:56:25 CEST 2013


20.07.13 16:27, Christian Heimes написав(ла):

This will wrong when strlen(fname) is 30. strncat() will copy only 30 bytes, without terminal NUL. That's not how strncat() works. strncat(dest, src, n) writes n+1 chars to the end of dest: n chars from src and +1 for the final NUL char. For this reason dest must be large enough to hold strlen(dest) + n + 1 chars.

Oh, true. strncat() always results NUL-terminated string. It's strncpy() can produce not NUL-terminated string. Sorry for noise.



More information about the Python-Dev mailing list