From: Neal Norwitz Date: Wed, 9 Nov 2005 06:59:35 +0000 (+0000) Subject: - SF Bug #1350188, "setdlopenflags" leads to crash upon "import" X-Git-Tag: v2.5a0~1186 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=67715f042096b4f77e359823f2c8d330f2b965b9;p=thirdparty%2FPython%2Fcpython.git - 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/Misc/NEWS b/Misc/NEWS index 5191c2519b89..b257e0ee43bd 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 2b5a11a220ee..960e5c093378 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)