From ef2856adf0ba699f3347778d9c1441eb1009cbe0 Mon Sep 17 00:00:00 2001
From: Mark Michelson <mmichelson@digium.com>
Date: Mon, 10 Sep 2007 19:10:46 +0000
Subject: [PATCH] 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
---
 apps/app_queue.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

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;
-- 
GitLab