From: Mark Michelson Date: Mon, 10 Sep 2007 19:10:46 +0000 (+0000) Subject: Fixing a problem where NULL channels would cause a crash when calling indisposed... X-Git-Tag: 1.6.0-beta1~3^2~1479 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ef2856adf0ba699f3347778d9c1441eb1009cbe0;p=thirdparty%2Fasterisk.git Fixing a problem where NULL channels would cause a crash when calling indisposed queue members (i.e. paused, wrapup time not completed, etc.) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82185 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_queue.c b/apps/app_queue.c index 5848bb2e1a..d0b6affc0e 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -2079,8 +2079,10 @@ static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callatte starttime = (long) time(NULL); #ifdef HAVE_EPOLL - for (epollo = outgoing; epollo; epollo = epollo->q_next) - ast_poll_channel_add(in, epollo->chan); + for (epollo = outgoing; epollo; epollo = epollo->q_next) { + if(epollo->chan) + ast_poll_channel_add(in, epollo->chan); + } #endif while (*to && !peer) { @@ -2287,8 +2289,10 @@ static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callatte } #ifdef HAVE_EPOLL - for(epollo = outgoing; epollo; epollo = epollo->q_next) - ast_poll_channel_del(in, epollo->chan); + for(epollo = outgoing; epollo; epollo = epollo->q_next) { + if(epollo->chan) + ast_poll_channel_del(in, epollo->chan); + } #endif return peer;