Issue 7065: bytes.maketrans segfaults - Python tracker (original) (raw)

Issue7065

Created on 2009-10-05 12:53 by drukker, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
maketrans_segfault.patch drukker,2009-10-05 12:53
bytes_maketrans_2.patch drukker,2009-10-05 13:36
Messages (4)
msg93599 - (view) Author: Derk Drukker (drukker) Date: 2009-10-05 12:53
The new maketrans static method in Python 3.1 segfaults when using byte values > 127. Reproduce: bytes.maketrans(bytes(range(256)), b'X' * 256) Cause: _Py_bytes_maketrans in Objects/bytes_methods.c uses signed int as array index. Fix attached. Also adds test.
msg93602 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2009-10-05 13:23
Good catch! Shouldn't the "i" variable be a "Py_ssize_t"?
msg93603 - (view) Author: Derk Drukker (drukker) Date: 2009-10-05 13:36
Yes, it should indeed be a Py_ssize_t. New patch.
msg94006 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2009-10-14 17:19
Patch committed in r75404 and r75406. Thanks!
History
Date User Action Args
2022-04-11 14:56:53 admin set nosy: + georg.brandl, benjamin.petersongithub: 51314
2009-10-14 17:19:29 pitrou set status: open -> closednosy: + pitroumessages: + resolution: fixed
2009-10-05 18:27:45 brett.cannon set priority: release blockertype: crash
2009-10-05 13:36:27 drukker set files: + bytes_maketrans_2.patchmessages: +
2009-10-05 13:23:47 amaury.forgeotdarc set nosy: + amaury.forgeotdarcmessages: +
2009-10-05 12:53:22 drukker create