summaryrefslogtreecommitdiff
path: root/Python/dynload_hpux.c
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2002-01-26 20:03:48 +0000
committerMartin v. Löwis <martin@v.loewis.de>2002-01-26 20:03:48 +0000
commitcb651191a3c59e80653fdd1f994e2dd9ddf13350 (patch)
tree8d60cb663fc28ebd3d607051376c022b37bd2d77 /Python/dynload_hpux.c
parentd477f9e6b7620c90968143dbc39fd502852dd1b4 (diff)
downloadcpython-cb651191a3c59e80653fdd1f994e2dd9ddf13350.tar.gz
Test for error status of shl_findsym. Fixes #505417. 2.2.1 candiate.
Diffstat (limited to 'Python/dynload_hpux.c')
-rw-r--r--Python/dynload_hpux.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Python/dynload_hpux.c b/Python/dynload_hpux.c
index cbdb35a240..6aef796f11 100644
--- a/Python/dynload_hpux.c
+++ b/Python/dynload_hpux.c
@@ -47,7 +47,10 @@ dl_funcptr _PyImport_GetDynLoadFunc(const char *fqname, const char *shortname,
PyOS_snprintf(funcname, sizeof(funcname), FUNCNAME_PATTERN, shortname);
if (Py_VerboseFlag)
printf("shl_findsym %s\n", funcname);
- shl_findsym(&lib, funcname, TYPE_UNDEFINED, (void *) &p);
+ if (shl_findsym(&lib, funcname, TYPE_UNDEFINED, (void *) &p) == -1) {
+ shl_unload(lib);
+ p = NULL;
+ }
if (p == NULL && Py_VerboseFlag)
perror(funcname);