]> granicus.if.org Git - python/commitdiff
- SF Bug #1350188, "setdlopenflags" leads to crash upon "import"
authorNeal Norwitz <nnorwitz@gmail.com>
Wed, 9 Nov 2005 06:59:35 +0000 (06:59 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Wed, 9 Nov 2005 06:59:35 +0000 (06:59 +0000)
  It was possible dlerror() returns a NULL pointer, use a default error
  message in this case.

Misc/NEWS
Python/dynload_shlib.c

index 5191c2519b89dcda77a843e860bd20d1cc741f4b..b257e0ee43bda1c2a2906ee3196dbeb3fd1c11ce 100644 (file)
--- 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
index 2b5a11a220eed74a73b51f6d9c3cae52996aff32..960e5c0933784fb980ccea36e23425a2d88d2ff0 100644 (file)
@@ -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)