mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-02 19:16:15 +00:00
loader.c: Fix possible SEGV when a module fails to register
When a module fails to register itself (usually a coding error in the module), dlerror() can return NULL. We weren't checking for that in load_dlopen() before trying to strdup the error message so a SEGV was thrown. dlerror() is now surrounded with an S_OR so we don't SEGV. Change-Id: Ie0fb9316f08a321434f3f85aecf3c7d2ede8b956
This commit is contained in:
@@ -1087,7 +1087,7 @@ static struct ast_module *load_dlopen(const char *resource_in, const char *so_ex
|
||||
if (resource_being_loaded) {
|
||||
struct ast_str *list;
|
||||
int c = 0;
|
||||
const char *dlerror_msg = ast_strdupa(dlerror());
|
||||
const char *dlerror_msg = ast_strdupa(S_OR(dlerror(), ""));
|
||||
|
||||
resource_being_loaded = NULL;
|
||||
if (mod->lib) {
|
||||
|
Reference in New Issue
Block a user