From:
[email protected]
* Adeodato Simó (
[email protected]) [20040817 03:02]:
ah, our beloved regexec. please check if it happens if you start
mutt with a -F /dev/null option. if it doesn't, please attach
your muttrc (without sensible parts) so I can find out what is
triggering the segfault.
Using -F /dev/null prevents the segfault. The culprit line:
set reply_regexp="(((re|a(nt)?w|vá)(\[([\]\[0-9\]+\[])\])?:|[\[a-z0-9\]+-l])\[\t\]+)+"
The 0x00E1 was originally in ISO-8859-1 encoding, but it does
not matter; it doesn't need to be there in order to trigger
the segfault. I trimmed the testcase down (as the backtrace
suggests):
set reply_regexp="[a-z]" # segfault
set reply_regexp="[0-9]" # segfault
set reply_regexp="[e-f]" # segfault, any variation
set reply_regexp="[4-5]" # segfault, any variation
This triggers the same trace. However, the following (supposedly
equivalent) regexp does not result in segfault:
set reply_regexp="[[:alpha:]]" # OK
set reply_regexp="[A-Z]" # OK, any variation
This currently is a workaround for me; however, it's not nice at
all that libc just crashes.
Peter
--
.+'''+. .+'''+. .+'''+. .+'''+. .+''
Kelemen Péter / \ / \ /
[email protected]
.+' `+...+' `+...+' `+...+' `+...+'
--- SoupGate-Win32 v1.05
* Origin: you cannot sedate... all the things you hate (1:229/2)