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