mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-10 23:07:05 +00:00
Solaris doesn't like NULL going to ast_log
Solaris will crash if NULL is passed to ast_log. This simple patch simply uses S_OR to get around this. (closes issue #15392) Reported by: yrashk git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@229498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1893,22 +1893,23 @@ static int pbx_extension_helper(struct ast_channel *c, struct ast_context *con,
|
|||||||
}
|
}
|
||||||
} else { /* not found anywhere, see what happened */
|
} else { /* not found anywhere, see what happened */
|
||||||
ast_unlock_contexts();
|
ast_unlock_contexts();
|
||||||
|
/* Using S_OR here because Solaris doesn't like NULL being passed to ast_log */
|
||||||
switch (q.status) {
|
switch (q.status) {
|
||||||
case STATUS_NO_CONTEXT:
|
case STATUS_NO_CONTEXT:
|
||||||
if (!matching_action)
|
if (!matching_action)
|
||||||
ast_log(LOG_NOTICE, "Cannot find extension context '%s'\n", context);
|
ast_log(LOG_NOTICE, "Cannot find extension context '%s'\n", S_OR(context, ""));
|
||||||
break;
|
break;
|
||||||
case STATUS_NO_EXTENSION:
|
case STATUS_NO_EXTENSION:
|
||||||
if (!matching_action)
|
if (!matching_action)
|
||||||
ast_log(LOG_NOTICE, "Cannot find extension '%s' in context '%s'\n", exten, context);
|
ast_log(LOG_NOTICE, "Cannot find extension '%s' in context '%s'\n", exten, S_OR(context, ""));
|
||||||
break;
|
break;
|
||||||
case STATUS_NO_PRIORITY:
|
case STATUS_NO_PRIORITY:
|
||||||
if (!matching_action)
|
if (!matching_action)
|
||||||
ast_log(LOG_NOTICE, "No such priority %d in extension '%s' in context '%s'\n", priority, exten, context);
|
ast_log(LOG_NOTICE, "No such priority %d in extension '%s' in context '%s'\n", priority, exten, S_OR(context, ""));
|
||||||
break;
|
break;
|
||||||
case STATUS_NO_LABEL:
|
case STATUS_NO_LABEL:
|
||||||
if (context)
|
if (context)
|
||||||
ast_log(LOG_NOTICE, "No such label '%s' in extension '%s' in context '%s'\n", label, exten, context);
|
ast_log(LOG_NOTICE, "No such label '%s' in extension '%s' in context '%s'\n", label, exten, S_OR(context, ""));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (option_debug)
|
if (option_debug)
|
||||||
|
Reference in New Issue
Block a user