This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author izbyshev
Recipients izbyshev, serhiy.storchaka, vstinner
Date 2018-11-08.22:55:24
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1541717724.61.0.788709270274.issue35194@psf.upfronthosting.co.za>
In-reply-to
Content
UBSan with -fsanitize=implicit-integer-truncation found a suspicious one:
/scratch2/izbyshev/cpython/Modules/cjkcodecs/_codecs_jp.c:43:17: runtime error: implicit conversion from type 'unsigned int' of value 4294966013 (32-bit, unsigned) to type 'unsigned char' changed the value to 253 (8-bit, unsigned)

Indeed, the wrong constant was used (the correct one is used in corresponding decoder code at https://github.com/python/cpython/blob/fd512d76456b65c529a5bc58d8cfe73e4a10de7a/Modules/cjkcodecs/_codecs_jp.c#L105). In this case the truncation was harmless because only the lowest byte of the wrong result was used, and it was correct. But it probably makes sense to fix it if only to reduce noise from UBSan.

All Python versions are affected, but I've marked 3.8 only since I'm not sure what the policy for backporting such changes is.
History
Date User Action Args
2018-11-08 22:55:24izbyshevsetrecipients: + izbyshev, vstinner, serhiy.storchaka
2018-11-08 22:55:24izbyshevsetmessageid: <1541717724.61.0.788709270274.issue35194@psf.upfronthosting.co.za>
2018-11-08 22:55:24izbyshevlinkissue35194 messages
2018-11-08 22:55:24izbyshevcreate