I get
Python 2.4a2 (#88, Aug 7 2004, 12:37:23)
[GCC 3.3.4 (Debian 1:3.3.4-7)] on linux2
Type "help", "copyright", "credits" or "license" for
more information.
>>> u"a\u9808".encode("iso-2022-jp")
Segmentation fault
The gdb backtrace is
#0 0x4047f45f in jisx0208_encoder (data=0x98080061,
length=0xbfffde1c)
at
/home/martin/work/py2.4/Modules/cjkcodecs/_codecs_iso2022.c:632
#1 0x4047e915 in iso2022_encode (state=0xbfffdec8,
config=0x40481964, inbuf=0xbfffde60, inleft=2,
outbuf=0xbfffde6c, outleft=20, flags=3) at
/home/martin/work/py2.4/Modules/cjkcodecs/_codecs_iso2022.c:187
#2 0x404835f9 in multibytecodec_encode
(codec=0x40481be4, state=0xbfffdec8, data=0xbfffdec4,
datalen=2550661217,
errors=0x1, flags=3) at
/home/martin/work/py2.4/Modules/cjkcodecs/multibytecodec.c:432
#3 0x40483e24 in MultibyteCodec_Encode
(self=0x4029d070, args=0x98080061, kwargs=0x98080061)
at
/home/martin/work/py2.4/Modules/cjkcodecs/multibytecodec.c:512
#4 0x081041fe in PyCFunction_Call (func=0x402ce24c,
arg=0x402ce12c, kw=0x4052a2a0) at Objects/methodobject.c:77
It crashes on line 632:
632 else TRYMAP_ENC(jisxcommon, coded, *data) {
because data does not point to valid memory.
|