On HP-UX 10, shareable libraries end with '.sl', not '.so'.
In part reported by Lynn Gazis <lgazis@IVEA.com>. The rest of the report is about SHLIB_PATH being ignored. It was decided that using it would break security.
This commit is contained in:
parent
11bfaf6cff
commit
d58eb72f25
@ -111,6 +111,11 @@ DSO_METHOD *DSO_METHOD_dl(void)
|
|||||||
* type so the cast is safe.
|
* type so the cast is safe.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if defined(__hpux)
|
||||||
|
static const char extension[] = ".sl";
|
||||||
|
#else
|
||||||
|
static const char extension[] = ".so";
|
||||||
|
#endif
|
||||||
static int dl_load(DSO *dso, const char *filename)
|
static int dl_load(DSO *dso, const char *filename)
|
||||||
{
|
{
|
||||||
shl_t ptr;
|
shl_t ptr;
|
||||||
@ -118,12 +123,12 @@ static int dl_load(DSO *dso, const char *filename)
|
|||||||
int len;
|
int len;
|
||||||
|
|
||||||
/* The same comment as in dlfcn_load applies here. bleurgh. */
|
/* The same comment as in dlfcn_load applies here. bleurgh. */
|
||||||
len = strlen(filename);
|
len = strlen(filename) + len(extension);
|
||||||
if((dso->flags & DSO_FLAG_NAME_TRANSLATION) &&
|
if((dso->flags & DSO_FLAG_NAME_TRANSLATION) &&
|
||||||
(len + 6 < DSO_MAX_TRANSLATED_SIZE) &&
|
(len + 3 < DSO_MAX_TRANSLATED_SIZE) &&
|
||||||
(strstr(filename, "/") == NULL))
|
(strstr(filename, "/") == NULL))
|
||||||
{
|
{
|
||||||
sprintf(translated, "lib%s.so", filename);
|
sprintf(translated, "lib%s%s", filename, extension);
|
||||||
ptr = shl_load(translated, BIND_IMMEDIATE, NULL);
|
ptr = shl_load(translated, BIND_IMMEDIATE, NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user