diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2002-01-26 20:03:48 +0000 |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2002-01-26 20:03:48 +0000 |
commit | cb651191a3c59e80653fdd1f994e2dd9ddf13350 (patch) | |
tree | 8d60cb663fc28ebd3d607051376c022b37bd2d77 /Python/dynload_hpux.c | |
parent | d477f9e6b7620c90968143dbc39fd502852dd1b4 (diff) | |
download | cpython-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.c | 5 |
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); |