[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#2435: Bug 2435
From: |
Chong Yidong |
Subject: |
bug#2435: Bug 2435 |
Date: |
Wed, 04 Mar 2009 23:09:48 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
Kenichi Handa <handa@m17n.org> writes:
> It seems that `pattern' is correct, but `bufp->buffer' is
> the compiled code for some of jkr-compr related regexp.
> Could you please find why that happens?
I think the problem is that regex_compile can call load_charset, which
can call regex_compile. I think regex_compile is not designed to be
called recursively, leading to memory corruption. Here is a backtrace
(I inserted some debugging code to detect when regex_compile is called
recursively):
#0 abort () at emacs.c:432
#1 0x08196965 in compile_pattern (pattern=139288251, regp=0x0,
translate=138358041, posix=0, multibyte=0) at search.c:262
#2 0x0819727d in fast_string_match (regexp=139288251, string=138555267)
at search.c:509
#3 0x0817eb9f in Ffind_file_name_handler (filename=138555267,
operation=138416225) at fileio.c:380
#4 0x0817f5b3 in Fexpand_file_name (name=138555267,
default_directory=141645459) at fileio.c:859
#5 0x081fb92e in openp (path=138676461, str=138555267,
#suffixes=138926685,
storeptr=0x0, predicate=138358041) at lread.c:1425
#6 0x080b95f6 in load_charset_map_from_file (charset=0x84b4acc,
mapfile=138555267, control_flag=1) at charset.c:515
#7 0x080b9bb1 in load_charset (charset=0x84b4acc, control_flag=1)
at charset.c:652
#8 0x080bdce8 in maybe_unify_char (c=1638542, val=138788937) at charset.c:1679
#9 0x080eb5fa in string_char (
p=0x83560ac
"\340\275\261\340\275\262-\340\275\275\340\276\200\340\276\201\340\276\204]*[\340\275\276\340\276\202\340\276\203\340\276\206-\340\276\213\340\274\231\340\274\265\340\274\267]*",
advanced=0x0, len=0xbfc70d28)
at character.c:236
#10 0x081a2ac9 in regex_compile (
pattern=0x8356085
"[\340\275\200-\340\275\251\340\275\252][\340\276\220-\340\276\271\340\276\272\340\276\273\340\276\274]*[\340\275\260\366\220\202\216\340\275\261\340\275\262-\340\275\275\340\276\200\340\276\201\340\276\204]*[\340\275\276\340\276\202\340\276\203\340\276\206-\340\276\213\340\274\231\340\274\265\340\274\267]*",
size=88, syntax=3408388, bufp=0x83e3210) at regex.c:2982
#11 0x081b3dca in re_compile_pattern (
pattern=0x8356085
"[\340\275\200-\340\275\251\340\275\252][\340\276\220-\340\276\271\340\276\272\340\276\273\340\276\274]*[\340\275\260\366\220\202\216\340\275\261\340\275\262-\340\275\275\340\276\200\340\276\201\340\276\204]*[\340\275\276\340\276\202\340\276\203\340\276\206-\340\276\213\340\274\231\340\274\265\340\274\267]*",
length=88, bufp=0x83e3210) at regex.c:6518
#12 0x08196714 in compile_pattern_1 (cp=0x83e3200, pattern=137244011,
translate=138358041, regp=0x0, posix=0) at search.c:160
#13 0x08196996 in compile_pattern (pattern=137244011, regp=0x0,
translate=138358041, posix=0, multibyte=1) at search.c:265
- bug#2435: Bug 2435, Chong Yidong, 2009/03/03
- bug#2435: Bug 2435, Kenichi Handa, 2009/03/03
- bug#2435: Bug 2435, Chong Yidong, 2009/03/04
- bug#2435: Bug 2435, Chong Yidong, 2009/03/05
- bug#2435: Bug 2435, Kenichi Handa, 2009/03/05
- bug#2435: Bug 2435, Stefan Monnier, 2009/03/05
- bug#2435: Bug 2435, Kenichi Handa, 2009/03/05
- bug#2435: Bug 2435, Chong Yidong, 2009/03/05
- bug#2435: Bug 2435, Kenichi Handa, 2009/03/06
- bug#2435: Bug 2435, Stefan Monnier, 2009/03/06
- bug#2435: Bug 2435, Kenichi Handa, 2009/03/06
- bug#2435: Bug 2435, Chong Yidong, 2009/03/06