Re: [exim] Re: Problems with ${if ..} conditions

Kezdőlap
Üzenet törlése
Válasz az üzenetre
Szerző: Tony Finch
Dátum:  
Címzett: Nikolaus Rath
CC: exim-users
Tárgy: Re: [exim] Re: Problems with ${if ..} conditions
On Sun, 6 Mar 2005, Nikolaus Rath wrote:
>
> I played around with gdb and got the following result:
>
> ---broken binary----
> Breakpoint 2, eval_condition (s=0xbfbffc85 "{a}{b} {true} {false}}", yield=0xbfbfec88) at expand.c:1772
> 1772        sub[i] = expand_string_internal(s+1, TRUE, &s, yield == NULL);
> (gdb) p s
> $12 = (uschar *) 0xbfbffc85 "{a}{b} {true} {false}}"
> (gdb) s
> expand_string_internal (
>     string=0x7374706d <Error reading address 0x7374706d: Bad address>, ket_ends=1,
>     left=0x6f72705f, skipping=0) at expand.c:2602
> [...]
> 2659        continue;


It's already gone wrong. The value passed to expand_string_internal which
should be s+1 has become 0x7374706d i.e. "mpts", and &s has become
0x6f72705f i.e. "_pro". Looks like the stack has been messed up. You
should try to work out when this happens.

What's different about the way the working and broken binaries have been
compiled?

Tony.
--
<fanf@???> <dot@???> http://dotat.at/ ${sg{\N${sg{\
N\}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}\
\N}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}