Issue 20947: -Wstrict-overflow findings - Python tracker (original) (raw)
Issue20947
Created on 2014-03-16 17:39 by Jeffrey.Walton, last changed 2022-04-11 14:58 by admin. This issue is now closed.
Files | |||
---|---|---|---|
File name | Uploaded | Description | Edit |
issue20947.patch | serhiy.storchaka,2016-09-25 14:34 | review |
| Repositories containing patches | | | | | ------------------------------------------------------------------------------------ | | | | | http://hg.python.org/cpython | | | |
Messages (7) | ||
---|---|---|
msg213742 - (view) | Author: Jeffrey Walton (Jeffrey.Walton) * | Date: 2014-03-16 17:39 |
$ hg id 3736bf94535c+ tip Forgive me if you were aware of these. /usr/bin/gcc -pthread -fPIC -Wno-unused-result -Werror=declaration-after-statement -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fno-common -Wstrict-overflow -Wformat=2 -Wformat-security -Wcast-align -Wtrampolines -fno-common -Wstrict-overflow -Wformat=2 -Wformat-security -Wcast-align -Wtrampolines -I./Include -I. -IInclude -I/usr/include/x86_64-linux-gnu -I/usr/local/include -Icpython/./Include -Icpython/. -c cpython/./Modules/_posixsubprocess.c -o build/temp.linux-x86_64-3.4cpython/./Modules/_posixsubprocess.o cpython/./Modules/_posixsubprocess.c: In function ‘child_exec’: cpython/./Modules/_posixsubprocess.c:491:33: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow] cpython/./Modules/_posixsubprocess.c: In function ‘subprocess_fork_exec’: cpython/./Modules/_posixsubprocess.c:491:33: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow] cpython/./Modules/_posixsubprocess.c:491:33: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow] cpython/./Modules/_posixsubprocess.c:491:33: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow] ... /usr/bin/gcc -pthread -fPIC -Wno-unused-result -Werror=declaration-after-statement -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fno-common -Wstrict-overflow -Wformat=2 -Wformat-security -Wcast-align -Wtrampolines -fno-common -Wstrict-overflow -Wformat=2 -Wformat-security -Wcast-align -Wtrampolines -I./Include -I. -IInclude -I/usr/include/x86_64-linux-gnu -I/usr/local/include -Icpython/./Include -Icpython/. -c cpython/./Modules/sha512module.c -o build/temp.linux-x86_64-3.4cpython/./Modules/sha512module.o cpython/./Modules/sha512module.c: In function ‘sha512_transform’: cpython/./Modules/sha512module.c:128:1: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow] cpython/./Modules/sha512module.c:128:1: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow] | ||
msg235817 - (view) | Author: Mark Lawrence (BreamoreBoy) * | Date: 2015-02-12 12:18 |
@Serhiy/Victor I believe that you're both interested in this type of problem. | ||
msg271508 - (view) | Author: Martin Panter (martin.panter) * ![]() |
Date: 2016-07-28 08:07 |
Regarding the warning in Modules/_posixsubprocess.c, I don’t see any problem. I’m not sure exactly what it is warning about. Maybe if the cur pointer ever gets _before_ the start of hex_errno, that could be a problem, but the loop should stop when it reaches the start. The warnings in Modules/sha512module.c refer to the first line of the sha512_transform() function. I cannot see any pointer comparisons in that function. The closest is pointer and array indexing, but it all seems to be in order. I propose to ignore these warnings. | ||
msg277375 - (view) | Author: Christian Heimes (christian.heimes) * ![]() |
Date: 2016-09-25 13:18 |
I can no longer reproduce the warnings with $ CFLAGS=-Wstrict-overflow ./configure -C --with-pydebug --silent $ make --silent | ||
msg277378 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * ![]() |
Date: 2016-09-25 14:34 |
I can reproduce warnings in Modules/_posixsubprocess.c: gcc -pthread -fPIC -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-overflow -I./Include -I. -I/usr/include/i386-linux-gnu -I/usr/local/include -I/home/serhiy/py/cpython/Include -I/home/serhiy/py/cpython -c /home/serhiy/py/cpython/Modules/_posixsubprocess.c -o build/temp.linux-i686-3.7/home/serhiy/py/cpython/Modules/_posixsubprocess.o /home/serhiy/py/cpython/Modules/_posixsubprocess.c: In function ‘child_exec’: /home/serhiy/py/cpython/Modules/_posixsubprocess.c:524:33: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow] while (saved_errno != 0 && cur > hex_errno) { ^ /home/serhiy/py/cpython/Modules/_posixsubprocess.c: In function ‘subprocess_fork_exec’: /home/serhiy/py/cpython/Modules/_posixsubprocess.c:524:33: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow] while (saved_errno != 0 && cur > hex_errno) { ^ /home/serhiy/py/cpython/Modules/_posixsubprocess.c:544:1: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow] subprocess_fork_exec(PyObject* self, PyObject *args) ^ /home/serhiy/py/cpython/Modules/_posixsubprocess.c:544:1: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow] /home/serhiy/py/cpython/Modules/_posixsubprocess.c:524:33: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow] while (saved_errno != 0 && cur > hex_errno) { ^ /home/serhiy/py/cpython/Modules/_posixsubprocess.c:524:33: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow] Proposed simple patch fixes this. | ||
msg277379 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * ![]() |
Date: 2016-09-25 14:35 |
Use following command for reproducing: make -s CFLAGS=-Wstrict-overflow | ||
msg277540 - (view) | Author: Roundup Robot (python-dev) ![]() |
Date: 2016-09-27 19:05 |
New changeset dad879edefd2 by Serhiy Storchaka in branch '3.5': Issue #20947: Fixed a gcc warning with -Wstrict-overflow. https://hg.python.org/cpython/rev/dad879edefd2 New changeset 5ecbe8a55ccd by Serhiy Storchaka in branch '3.6': Issue #20947: Fixed a gcc warning with -Wstrict-overflow. https://hg.python.org/cpython/rev/5ecbe8a55ccd New changeset 675d3f76444d by Serhiy Storchaka in branch 'default': Issue #20947: Fixed a gcc warning with -Wstrict-overflow. https://hg.python.org/cpython/rev/675d3f76444d |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:58:00 | admin | set | github: 65146 |
2016-09-27 19:05:44 | serhiy.storchaka | set | status: open -> closedresolution: fixedstage: patch review -> resolved |
2016-09-27 19:05:27 | python-dev | set | nosy: + python-devmessages: + |
2016-09-25 14:35:50 | serhiy.storchaka | set | messages: + |
2016-09-25 14:34:11 | serhiy.storchaka | set | status: closed -> openfiles: + issue20947.patchassignee: serhiy.storchakaversions: + Python 3.6, Python 3.7keywords: + patchresolution: wont fix -> (no value)messages: + stage: resolved -> patch review |
2016-09-25 13🔞13 | christian.heimes | set | status: open -> closednosy: + christian.heimesmessages: + stage: resolved |
2016-07-28 08:30:11 | BreamoreBoy | set | nosy: - BreamoreBoy |
2016-07-28 08:07:51 | martin.panter | set | nosy: + martin.pantermessages: + resolution: wont fixtype: compile error |
2015-02-12 12🔞27 | BreamoreBoy | set | nosy: + BreamoreBoy, vstinner, serhiy.storchakamessages: + |
2014-03-16 17:39:57 | Jeffrey.Walton | create |