Frank Cusack <fcusack@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.