[Python-Dev] cpython: Use strncat() instead of strcat() to silence some warnings.
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 (!PyArg_ParseTuple(args, argfmt, &arg))
> return NULL;
>
> @@ -270,7 +270,7 @@
> int arg = 0;
>
> assert(strlen(fname) <= 30);
> - strcat(argfmt, fname);
> + strncat(argfmt, fname, 30);
> if (!PyArg_ParseTuple(args, argfmt, &arg))
> return NULL;
>
> @@ -290,7 +290,7 @@
> int rv;
>
> assert(strlen(fname) <= 30);
> - strcat(argfmt, fname);
> + strncat(argfmt, fname, 30);
> if (!PyArg_ParseTuple(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