From: Victor Stinner Date: Tue, 19 Mar 2019 23:32:11 +0000 (+0100) Subject: bpo-36365: Fix compiler warning in structseq.c (GH-12451) X-Git-Tag: v3.7.4rc1~324 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ea3592d7ef6308bf9f6c7d86556f9b36f5ca0060;p=thirdparty%2FPython%2Fcpython.git bpo-36365: Fix compiler warning in structseq.c (GH-12451) --- 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++) {