summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeal Norwitz <nnorwitz@gmail.com>2005-11-09 06:59:35 (GMT)
committerNeal Norwitz <nnorwitz@gmail.com>2005-11-09 06:59:35 (GMT)
commit67715f042096b4f77e359823f2c8d330f2b965b9 (patch)
tree83d2961d97bc266a38fee7da13b9d0c5c418a205
parent789fd005e0d3b3ee047435f7536ded80a26ddff8 (diff)
downloadcpython-67715f042096b4f77e359823f2c8d330f2b965b9.zip
cpython-67715f042096b4f77e359823f2c8d330f2b965b9.tar.gz
cpython-67715f042096b4f77e359823f2c8d330f2b965b9.tar.bz2
- 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.
-rw-r--r--Misc/NEWS4
-rw-r--r--Python/dynload_shlib.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 5191c25..b257e0e 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,10 @@ What's New in Python 2.5 alpha 1?
Core and builtins
-----------------
+- 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.
+
- Replaced most Unicode charmap codecs with new ones using the
new Unicode translate string feature in the builtin charmap
codec; the codecs were created from the mapping tables available
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)