Freeradius 2.2.0 memory leak issue.

Alan DeKok aland at
Wed Mar 6 15:08:53 CET 2013

kao quadrantx wrote:
> I try to test with the latest version of freeradius in git 2.x.x and
> still get the same behavior.

$ git pull

  Then rebuild.

> Seems the envp variable in radius_exec_program function (exec.c) not clean?

  No.  It looks like the userparse() function isn't cleaning up properly
on error.

  i.e. your script is writing *invalid* attributes to its output.
However... only *some* of them are invalid.  The server is parsing the
valid ones, and then stopping when it receives the invalid ones.  But...
it doesn't free the valid ones, even though it doesn't use them.

  The solution (other than the bug fix I just committed), is to ensure
that your external script returns *valid* attributes.

  If you look at radiusd.log, you'll probably see tons of:

Exec-Program-Wait: ...: unparsable reply

  This indicates that your script is broken.  But it shouldn't cause
issues for the server.

  Alan DeKok.

More information about the Freeradius-Users mailing list