From b16a13c091176cd3ba87a5e680b2f250816f3c5d Mon Sep 17 00:00:00 2001 From: Seven Du Date: Wed, 28 Aug 2013 20:37:23 +0800 Subject: [PATCH] fix crash, no all members has channel --- src/mod/applications/mod_conference/mod_conference.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 398491eb13..0ad4c1bc67 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -1608,7 +1608,7 @@ static void conference_set_video_floor_holder(conference_obj_t *conference, conf conference_member_t *imember; for (imember = conference->members; imember; imember = imember->next) { - if (imember != conference->video_floor_holder && switch_channel_test_flag(imember->channel, CF_VIDEO)) { + if (imember != conference->video_floor_holder && imember->channel && switch_channel_test_flag(imember->channel, CF_VIDEO)) { member = imember; break; } @@ -1659,7 +1659,8 @@ static void conference_set_floor_holder(conference_obj_t *conference, conference int old_id = 0; if (!switch_test_flag(conference, CFLAG_VIDEO_BRIDGE) && - ((conference->video_floor_holder && !member) || (member && switch_channel_test_flag(member->channel, CF_VIDEO)))) { + ((conference->video_floor_holder && !member) || + (member && member->channel && switch_channel_test_flag(member->channel, CF_VIDEO)))) { conference_set_video_floor_holder(conference, member, SWITCH_FALSE); }