On Wed, Jun 09, 2010 at 10:00:14PM +0100, James J J Hooper wrote:
> OK - GDB log attached.
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread -1208649024 (LWP 2425)]
> 0x08067c64 in received_proxy_response (packet=0x8430a20) at event.c:3075
> 3075          } else if ((request->packet->code != request->proxy->code) &&
> * 1 Thread -1208649024 (LWP 2425)  0x08067c64 in received_proxy_response 
> (packet=0x8430a20) at event.c:3075
> 
> Thread 1 (Thread -1208649024 (LWP 2425)):
> #0  0x08067c64 in received_proxy_response (packet=0x8430a20) at event.c:3075

That code has indeed changed from 2.1.8 to 2.1.9, and it may be a simple bug
- there is no existence check for request->packet before its dereference in
the new CoA-related condition. There is an existence check for it below,
but by then it's too late. It looks like that branching could do with some
more reordering.

As a temporary workaround, you can probably compile with -D WITHOUT_COA
so that you lose that bit, assuming of course you don't use that feature :)

-- 
     2. That which causes joy or happiness.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to