From: Automerge Script Date: Thu, 31 May 2007 16:14:18 +0000 (+0000) Subject: automerge commit X-Git-Tag: 1.2.19-netsec~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5645d79958e12bd6d6c97a540a472ac27191f411;p=thirdparty%2Fasterisk.git automerge commit git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@66767 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_macro.c b/apps/app_macro.c index 75c2e3cf17..4002a8b003 100644 --- a/apps/app_macro.c +++ b/apps/app_macro.c @@ -266,22 +266,23 @@ static int macro_exec(struct ast_channel *chan, void *data) while(ast_exists_extension(chan, chan->context, chan->exten, chan->priority, chan->cid.cid_num)) { struct ast_context *c; struct ast_exten *e; + runningapp[0] = '\0'; + runningdata[0] = '\0'; /* What application will execute? */ if (ast_lock_contexts()) { ast_log(LOG_WARNING, "Failed to lock contexts list\n"); - e = NULL; } else { for (c = ast_walk_contexts(NULL), e = NULL; c; c = ast_walk_contexts(c)) { if (!strcmp(ast_get_context_name(c), chan->context)) { if (ast_lock_context(c)) { ast_log(LOG_WARNING, "Unable to lock context?\n"); - runningapp[0] = '\0'; - runningdata[0] = '\0'; } else { e = find_matching_priority(c, chan->exten, chan->priority, chan->cid.cid_num); - ast_copy_string(runningapp, ast_get_extension_app(e), sizeof(runningapp)); - ast_copy_string(runningdata, ast_get_extension_app_data(e), sizeof(runningdata)); + if (e) { /* This will only be undefined for pbx_realtime, which is majorly broken. */ + ast_copy_string(runningapp, ast_get_extension_app(e), sizeof(runningapp)); + ast_copy_string(runningdata, ast_get_extension_app_data(e), sizeof(runningdata)); + } ast_unlock_context(c); } break; diff --git a/channels/chan_sip.c b/channels/chan_sip.c index f78d585830..812220415c 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -3081,7 +3081,7 @@ static struct ast_frame *sip_rtp_read(struct ast_channel *ast, struct sip_pvt *p return &null_frame; if (p->owner) { /* We already hold the channel lock */ - if (f->frametype == AST_FRAME_VOICE) { + if (f && f->frametype == AST_FRAME_VOICE) { if (f->subclass != p->owner->nativeformats) { if (!(f->subclass & p->jointcapability)) { ast_log(LOG_DEBUG, "Bogus frame of format '%s' received from '%s'!\n",