On 14 Feb 2013, at 11:36, Alan DeKok <aland@DEPLOYINGRADIUS.COM> wrote:
Brian Candler wrote:
Very strange: obviously regcomp succeeded, so why should regexec crash?
Memory corruption? Access to free'd resources?
And why not when run under gdb??
So I made a completely clean checkout and built from scratch. Exactly the same problem.
Any ideas?
Valgrind.
The test case was pretty simple, but I can't produce the crash and valgrind shows nothing (but that may be because it's broken on OSX 10.8) User-Name = "testu" Framed-IP-Address = 1.2.3.4 Acct-Status-Type = Start (1) # Executing section preacct from file /usr/local/freeradius/etc/raddb/sites-enabled/default (1) group preacct { (1) - entering group preacct {...} (1) [preprocess] = ok (1) policy acct_unique { (1) - entering policy acct_unique {...} (1) ? if ("%{string:Class}" =~ /ai:([0-9a-f]{32})/i) (1) expand: '%{string:Class}' -> '' (1) ? Evaluating ("%{string:Class}" =~ /ai:([0-9a-f]{32})/i) -> FALSE (1) ? if ("%{string:Class}" =~ /ai:([0-9a-f]{32})/i) -> FALSE (1) else else { Brian, could you post the results of running it under valgrind? -Arran