1.1.2 is broken if you have closefrom()

Frank Cusack fcusack at fcusack.com
Fri Jun 9 02:31:03 CEST 2006


On June 8, 2006 5:18:55 PM -0700 Frank Cusack <fcusack at fcusack.com> wrote:
> On June 8, 2006 6:02:44 PM -0400 Alan DeKok <aland at nitros9.org> wrote:
>> 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.

And on even further inspection, I don't see how the gdb data in bug #98
could be generated from ltdl.c.  Besides the fact that (in my possibly
incorrect reading) handle is always set to NULL on error return,
handle->next and handle->info.refcount aren't set until try_dlopen() is
going to return success. So I see the problem (handle is invalid) but
I don't see how handle could have possibly come out from lt_dlopenext()
that way.

It seems extremely unlikely that FR would munge the handle that badly,
so my next best guess is that the problem was reported under a different
ltdl.c than the one you actually patched.  I'll investigate that path
but in the meantime if anyone can describe a test case that would be good.

-frank



More information about the Freeradius-Devel mailing list