Fix a potentially invalid memory access of CJKCodecs' shift-jis
decoder. (found by Neal Norwitz)
This commit is contained in:
parent
06c5c00819
commit
58ce5bc14c
|
@ -75,6 +75,8 @@ Core and builtins
|
||||||
Extension Modules
|
Extension Modules
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
- Fixed a potentially invalid memory access of CJKCodecs' shift-jis decoder.
|
||||||
|
|
||||||
- Patch #1478788 (modified version): The functional extension module has
|
- Patch #1478788 (modified version): The functional extension module has
|
||||||
been renamed to _functools and a functools Python wrapper module added.
|
been renamed to _functools and a functools Python wrapper module added.
|
||||||
This provides a home for additional function related utilities that are
|
This provides a home for additional function related utilities that are
|
||||||
|
|
|
@ -639,10 +639,11 @@ DECODER(shift_jis_2004)
|
||||||
REQUIRE_OUTBUF(1)
|
REQUIRE_OUTBUF(1)
|
||||||
JISX0201_DECODE(c, **outbuf)
|
JISX0201_DECODE(c, **outbuf)
|
||||||
else if ((c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xfc)){
|
else if ((c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xfc)){
|
||||||
unsigned char c1, c2 = IN2;
|
unsigned char c1, c2;
|
||||||
ucs4_t code;
|
ucs4_t code;
|
||||||
|
|
||||||
REQUIRE_INBUF(2)
|
REQUIRE_INBUF(2)
|
||||||
|
c2 = IN2;
|
||||||
if (c2 < 0x40 || (c2 > 0x7e && c2 < 0x80) || c2 > 0xfc)
|
if (c2 < 0x40 || (c2 > 0x7e && c2 < 0x80) || c2 > 0xfc)
|
||||||
return 2;
|
return 2;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue