[Python-checkins] bpo-36365: Fix compiler warning in structseq.c (GH-12451)
Victor Stinner
webhook-mailer at python.org
Tue Mar 19 19:32:22 EDT 2019
https://github.com/python/cpython/commit/ea3592d7ef6308bf9f6c7d86556f9b36f5ca0060
commit: ea3592d7ef6308bf9f6c7d86556f9b36f5ca0060
branch: 3.7
author: Victor Stinner <vstinner at redhat.com>
committer: GitHub <noreply at github.com>
date: 2019-03-20T00:32:11+01:00
summary:
bpo-36365: Fix compiler warning in structseq.c (GH-12451)
files:
M Objects/structseq.c
diff --git a/Objects/structseq.c b/Objects/structseq.c
index 900aaba7c150..e48165dcd008 100644
--- a/Objects/structseq.c
+++ b/Objects/structseq.c
@@ -182,10 +182,16 @@ structseq_repr(PyStructSequence *obj)
endofbuf= &buf[REPR_BUFFER_SIZE-5];
/* "typename(", limited to TYPE_MAXSIZE */
- len = strlen(typ->tp_name) > TYPE_MAXSIZE ? TYPE_MAXSIZE :
- strlen(typ->tp_name);
- strncpy(pbuf, typ->tp_name, len);
- pbuf += len;
+ assert(TYPE_MAXSIZE < sizeof(buf));
+ len = strlen(typ->tp_name);
+ if (len <= TYPE_MAXSIZE) {
+ strcpy(pbuf, typ->tp_name);
+ pbuf += len;
+ }
+ else {
+ strncpy(pbuf, typ->tp_name, TYPE_MAXSIZE);
+ pbuf += TYPE_MAXSIZE;
+ }
*pbuf++ = '(';
for (i=0; i < VISIBLE_SIZE(obj); i++) {
More information about the Python-checkins
mailing list