+2006-04-03 Peter O'Gorman <peter@pogma.com>
+
+ * libltdl/loaders/preopen.c: Don't allow lt_dlopen if the
+ module has no symbols.
+
2006-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]:
{
if (!symbol->address && streq (symbol->name, filename))
{
- module = (lt_module) lists->symlist;
- goto done;
+ /* If the next symbol's name and address is 0, it means
+ the module just contains the originator and no symbols.
+ In this case we pretend that we never saw the module and
+ hope that some other loader will be able to load the module
+ and have access to its symbols */
+ const lt_dlsymlist *next_symbol = symbol +1;
+ if (next_symbol->address && next_symbol->name)
+ {
+ module = (lt_module) lists->symlist;
+ goto done;
+ }
}
}
}