Martin Panter added the comment:

I committed the fix for negation in audioop.

slice-step.patch includes a better fix for the remaining part of trapv.patch, 
with Element Tree slicing. I think this fix is much less intrusive, and I have 
copied it to other places that handle slicing, and added corresponding test 
cases.

The undefined behaviour sanitizer produces lots of errors about bit shifting 
signed integers in low-level modules like ctypes, struct, audioop. Typically 
this is for code converting signed integers to and from bytes, and 
big/little-endian conversions. This is technically undefined behaviour, but I 
think it may be less serious than the other overflows with traditional 
arithmetic like addition and multiplication. E.g. GCC explicitly documents 
<https://gcc.gnu.org/onlinedocs/gcc/Integers-implementation.html> that this is 
handled as expected with twos-complement, so with GCC there should be no nasty 
surprises with optimizing out undefined behaviour. My set-overflow.patch would 
also be in this boat.

----------
versions: +Python 3.6
Added file: http://bugs.python.org/file43785/slice-step.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue1621>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to