diff options
author | Neal Norwitz <nnorwitz@gmail.com> | 2005-11-09 07:02:40 (GMT) |
---|---|---|
committer | Neal Norwitz <nnorwitz@gmail.com> | 2005-11-09 07:02:40 (GMT) |
commit | 757dab9df72ffb0850b01710ad58d5898aed422d (patch) | |
tree | cb3e6ad237d00e92dbeffa7dc6f06540ff31c304 /Python/dynload_shlib.c | |
parent | 6e4524f633aa139c005d0d9c01858319ac96d851 (diff) | |
download | cpython-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.c | 5 |
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) |