From 0491e55926591b043b8fa5b8f9b16a4c336018a6 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Sun, 27 Jan 2013 01:48:27 +0700 Subject: [PATCH] Fix one more case of dlerror(), if it returns NULL after error. --- src/Modules.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Modules.cpp b/src/Modules.cpp index 4835577e..68a7e1d3 100644 --- a/src/Modules.cpp +++ b/src/Modules.cpp @@ -1169,7 +1169,9 @@ ModHandle CModules::OpenModule(const CString& sModule, const CString& sModPath, if (!p) { // dlerror() returns pointer to static buffer, which may be overwritten very soon with another dl call - CString sDlError = dlerror(); + // also it may just return null. + const char* cDlError = dlerror(); + CString sDlError = cDlError ? cDlError : "Unknown error"; sRetMsg = "Unable to open module [" + sModule + "] [" + sDlError + "]"; return NULL; }