From: David Brooks Date: Wed, 11 Nov 2009 19:46:19 +0000 (+0000) Subject: Solaris doesn't like NULL going to ast_log X-Git-Tag: 1.4.27-rc5~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=933ad675be8d2d0e006ef3a98f3c0d7d4e6be9fa;p=thirdparty%2Fasterisk.git 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 --- diff --git a/main/pbx.c b/main/pbx.c index 529899793c..9f4c63fd70 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -1893,22 +1893,23 @@ static int pbx_extension_helper(struct ast_channel *c, struct ast_context *con, } } else { /* not found anywhere, see what happened */ ast_unlock_contexts(); + /* Using S_OR here because Solaris doesn't like NULL being passed to ast_log */ switch (q.status) { case STATUS_NO_CONTEXT: 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; case STATUS_NO_EXTENSION: 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; case STATUS_NO_PRIORITY: 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; case STATUS_NO_LABEL: 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; default: if (option_debug)