Martin Panter added the comment:
Inspired by Issue 27473, I did a quick and dirty scan for obvious places that
expect overflow to wrap, and found the following, which I think should be fixed:
Modules/_ctypes/_ctypes.c:1388, in PyCArrayType_new()
Objects/listobject.c:492, in list_concat()
Objects/tupleobject.c:457, in tupleconcat()
Objects/listobject.c:845, in listextend()
Also I played with enabling GCC’s -ftrapv option. Attached is a patch with
three changes:
1. configure --with-pydebug enables -ftrapv (experimental, not sure everyone
would want this)
2. Easy fix for negation overflow in audioop (I am happy to apply this part)
3. Avoid dumb overflows at end of for loop in Element Tree code when handling
slices with step=sys.maxsize. Technically the overflow is undefined behaviour,
but the change is annoying, because ignoring the overflow at the end of the
loop is much simpler than adding special cases. Not sure what I think about
this part.
----------
dependencies: +test_time fails: strftime('%Y', y) for negative year
nosy: +martin.panter
Added file: http://bugs.python.org/file43728/trapv.patch
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue1621>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com