Index is not an integer (segfault)

Alan DeKok aland at deployingradius.com
Thu Dec 17 15:47:14 CET 2015


On Dec 17, 2015, at 4:50 AM, Franks Andy (IT Technical Architecture Manager) <Andy.Franks at sath.nhs.uk> wrote:
> Ideally, I'd like to expand in an if statement and compare, i.e. if ( "%{xlat:control:Tmp-Integer-1[%{control:Tmp-Integer-0}]}" > 1 ),

  Hmm... you shouldn't be able to dynamically expand non-string attributes.  The idea behind %{xlat:} is that you could do something like:

	Tmp-String-0 := "sql: SELECT ..."

  and then do:

	Blah = "%{xlat:Tmp-String-0}"

  i.e. the contents of the %{xlat} expansion are another string to be expanded.

  You're not using it that way.  You're trying to dynamically expand an array reference, and then use that to get an integer.  And you're *not* dynamically expanding the integer.

  So the %{xlat} expansion is not what you want.  You want something else.  Something which isn't yet implemented.

  I'll see if I can think of something.

  Alan DeKok.




More information about the Freeradius-Users mailing list