[Python-Dev] Fix strncpy warning with gcc 8 (#5840) (original) (raw)

Serhiy Storchaka storchaka at gmail.com
Tue Mar 6 06:52:00 EST 2018


06.03.18 12:34, Xiang Zhang пише:

https://github.com/python/cpython/commit/efd2bac1564f8141a4eab1bf8779b412974b8d69 commit: efd2bac1564f8141a4eab1bf8779b412974b8d69 branch: master author: Siddhesh Poyarekar <siddhesh.poyarekar at gmail.com> committer: Xiang Zhang <angwerzx at 126.com> date: 2018-03-06T18:34:35+08:00 summary:

Fix strncpy warning with gcc 8 (#5840) The length in strncpy is one char too short and as a result it leads to a build warning with gcc 8. Comment out the strncpy since the interpreter aborts immediately after anyway. files: M Python/pystrtod.c diff --git a/Python/pystrtod.c b/Python/pystrtod.c index 9bf936386210..601f7c691edf 100644 --- a/Python/pystrtod.c +++ b/Python/pystrtod.c @@ -1060,8 +1060,8 @@ formatfloatshort(double d, char formatcode, else { /* shouldn't get here: Gay's code should always return something starting with a digit, an 'I', or 'N' */ - strncpy(p, "ERR", 3); - /* p += 3; */ + /* strncpy(p, "ERR", 3); + p += 3; */ PyUNREACHABLE(); } goto exit;

I think this code was added for purpose. In the case of programming error we could get meaningful value in post-mortal debugging. But after replacing assert(0) with Py_UNREACHABLE this perhaps lost a sense.

If this code is no longer needed it is better to remove it than keeping an obscure comment.

What are your thoughts @warsaw and @ericvsmith?

Py_UNREACHABLE was added in issue31338 by Barry. The original code was added in issue1580 by Eric Smith (maybe it was copied from other place).



More information about the Python-Dev mailing list