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

Serhiy Storchaka storchaka at gmail.com
Sat Jul 20 14:23:46 CEST 2013


20.07.13 15:12, christian.heimes написав(ла):

http://hg.python.org/cpython/rev/c92f4172d122 changeset: 84723:c92f4172d122 user: Christian Heimes <christian at cheimes.de> date: Sat Jul 20 14:11:28 2013 +0200 summary: Use strncat() instead of strcat() to silence some warnings. CID 486616, CID 486617, CID 486615

files: Modules/ossaudiodev.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Modules/ossaudiodev.c b/Modules/ossaudiodev.c --- a/Modules/ossaudiodev.c +++ b/Modules/ossaudiodev.c @@ -245,7 +245,7 @@ int arg; assert(strlen(fname) <= 30); - strcat(argfmt, fname); + strncat(argfmt, fname, 30); if (!PyArgParseTuple(args, argfmt, &arg)) return NULL; @@ -270,7 +270,7 @@ int arg = 0; assert(strlen(fname) <= 30); - strcat(argfmt, fname); + strncat(argfmt, fname, 30); if (!PyArgParseTuple(args, argfmt, &arg)) return NULL; @@ -290,7 +290,7 @@ int rv; assert(strlen(fname) <= 30); - strcat(argfmt, fname); + strncat(argfmt, fname, 30); if (!PyArgParseTuple(args, argfmt)) return NULL;

This will wrong when strlen(fname) is 30. strncat() will copy only 30 bytes, without terminal NUL.



More information about the Python-Dev mailing list