summaryrefslogtreecommitdiffstats
path: root/Python/dynload_shlib.c
diff options
context:
space:
mode:
authorNeal Norwitz <nnorwitz@gmail.com>2005-11-09 07:02:40 (GMT)
committerNeal Norwitz <nnorwitz@gmail.com>2005-11-09 07:02:40 (GMT)
commit757dab9df72ffb0850b01710ad58d5898aed422d (patch)
treecb3e6ad237d00e92dbeffa7dc6f06540ff31c304 /Python/dynload_shlib.c
parent6e4524f633aa139c005d0d9c01858319ac96d851 (diff)
downloadcpython-757dab9df72ffb0850b01710ad58d5898aed422d.zip
cpython-757dab9df72ffb0850b01710ad58d5898aed422d.tar.gz
cpython-757dab9df72ffb0850b01710ad58d5898aed422d.tar.bz2
Backport:
SF Bug #1350188, "setdlopenflags" leads to crash upon "import" It was possible dlerror() returns a NULL pointer, use a default error message in this case.
Diffstat (limited to 'Python/dynload_shlib.c')
-rw-r--r--Python/dynload_shlib.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Python/dynload_shlib.c b/Python/dynload_shlib.c
index 2b5a11a..960e5c0 100644
--- a/Python/dynload_shlib.c
+++ b/Python/dynload_shlib.c
@@ -130,7 +130,10 @@ dl_funcptr _PyImport_GetDynLoadFunc(const char *fqname, const char *shortname,
handle = dlopen(pathname, dlopenflags);
if (handle == NULL) {
- PyErr_SetString(PyExc_ImportError, dlerror());
+ char *error = dlerror();
+ if (error == NULL)
+ error = "unknown dlopen() error";
+ PyErr_SetString(PyExc_ImportError, error);
return NULL;
}
if (fp != NULL && nhandles < 128)