1.1.2 is broken if you have closefrom()

Frank Cusack fcusack at fcusack.com
Fri Jun 9 02:18:55 CEST 2006


On June 8, 2006 6:02:44 PM -0400 Alan DeKok <aland at nitros9.org> wrote:
> Frank Cusack <fcusack at fcusack.com> wrote:
>   The libltdl retards would allocate a data structure, partially fill
> it in, and then RETURN IT to the caller if ltdl_open() didn't work.
> Since ltdl_open() is documented as returning PTR on success and NULL
> on fail, it would look like the dlopen succeeded.  The code would then
> call ltdl_sym(), using the previous bullshit structure, and the
> retarded ltdl_sym() code would de-reference a NULL pointer.  It
> doesn't need to check, apparently, because that field is supposed to
> be initialized if ltdl_open() worked.

Your patch is actually in lt_dlopenext(), not lt_dlopen().

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.

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.

-frank



More information about the Freeradius-Devel mailing list