https://github.com/python/cpython/commit/49ee41f1c3934aa095e32fa751cdf3ba641ae34b commit: 49ee41f1c3934aa095e32fa751cdf3ba641ae34b branch: 3.6 author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com> committer: GitHub <noreply at github.com> date: 2018年11月08日T23:33:10-08:00 summary: bpo-35194: Fix a wrong constant in cp932 codec (GH-10420) This typo doesn't affect the result because wrong bits are discarded on implicit conversion to unsigned char, but it trips UBSan with -fsanitize=implicit-integer-truncation. https://bugs.python.org/issue35194 (cherry picked from commit 7a69cf47a9bbc95f95fd67c982bff121b2a903cb) Co-authored-by: Alexey Izbyshev <izbyshev at ispras.ru> files: M Modules/cjkcodecs/_codecs_jp.c diff --git a/Modules/cjkcodecs/_codecs_jp.c b/Modules/cjkcodecs/_codecs_jp.c index 2c7788a64581..3a332953b957 100644 --- a/Modules/cjkcodecs/_codecs_jp.c +++ b/Modules/cjkcodecs/_codecs_jp.c @@ -40,7 +40,7 @@ ENCODER(cp932) if (c == 0xf8f0) OUTBYTE1(0xa0); else - OUTBYTE1(c - 0xfef1 + 0xfd); + OUTBYTE1(c - 0xf8f1 + 0xfd); NEXT(1, 1); continue; }