Fixing a problem where NULL channels would cause a crash when calling indisposed...
authorMark Michelson <mmichelson@digium.com>
Mon, 10 Sep 2007 19:10:46 +0000 (19:10 +0000)
committerMark Michelson <mmichelson@digium.com>
Mon, 10 Sep 2007 19:10:46 +0000 (19:10 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82185 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_queue.c

index 5848bb2..d0b6aff 100644 (file)
@@ -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;