Message177482
The audioop module has some issues with an overflow.
1. It uses post-checks for an integer overflow. This means using an undefined behavior.
2. When the result truncated in case of overflow, -maxval used as minimal value. But real minimum value is less (-maxval - 1). This means not using full possible range and causes an odd result of some operations (for example add(b'\x80', '\x00', 1) returns b'\x81').
3. Some operations (for example bias()) does not truncating and just overflow.
4. lin2lin() conversion from 4 to 4 (should do nothing) loses 16 lowest bits. |
|
Date |
User |
Action |
Args |
2012-12-14 18:15:07 | serhiy.storchaka | set | recipients:
+ serhiy.storchaka, mark.dickinson |
2012-12-14 18:15:07 | serhiy.storchaka | set | messageid: <1355508907.39.0.527029919241.issue16686@psf.upfronthosting.co.za> |
2012-12-14 18:15:07 | serhiy.storchaka | link | issue16686 messages |
2012-12-14 18:15:07 | serhiy.storchaka | create | |
|