- 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.
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 @@
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)