1.1.2 is broken if you have closefrom()

Alan DeKok aland at nitros9.org
Fri Jun 9 02:21:58 CEST 2006


Frank Cusack <fcusack at fcusack.com> wrote:
> On inspection, I don't see a code path that leaves handle non-NULL on
> an error return.  I'm also unable to reproduce the problem, and none
> of the bugs referencing this problem has an adequate description.

  After I patched the existing libltdl, it's fine.  Before, it wasn't.

> Can you give me a formula to demonstrate this problem?  I don't have
> mysql, which a lot of the cases seem to revolve around.

  install libbar into /opt/lib/
  ensure /opt/lib isn't in ldconfig, or LD_LIBRARY_PATH
  build FreeRADIUS with LDFLAGS=-L/opt/lib
  install rlm_foo into /usr/local/lib/
  rlm_foo -> libbar
  ensure radiusd.conf, libdir = /usr/local/lib
  ldd rlm_foo should return error
  running freeradius should link rlm_foo, fail to link libbar,
    and return a partial ltdl_handle*.

  It's pretty easy to reproduce if you put libraries into a place
where your dynamic linker can't find them.

  Alan DeKok.



More information about the Freeradius-Devel mailing list