From 84c97ea3ab3d6116717b8d4a0efd9f8f4b92a343 Mon Sep 17 00:00:00 2001 From: Mike Jerris Date: Mon, 9 Jul 2018 14:53:13 -0400 Subject: [PATCH] FS-11223: [core] fix Crash when firefox sends only rtcp and not rtp candidates on video media --- src/switch_core_media.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 4591bfc2f5..5f0a9a1dde 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -9078,7 +9078,9 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_sessi } - if (t_engine->ice_in.cands[t_engine->ice_in.chosen[1]][1].ready) { + if (t_engine->ice_in.cands[t_engine->ice_in.chosen[1]][1].ready && t_engine->ice_in.cands[t_engine->ice_in.chosen[0]][0].ready && + !zstr(t_engine->ice_in.cands[t_engine->ice_in.chosen[1]][1].con_addr) && + !zstr(t_engine->ice_in.cands[t_engine->ice_in.chosen[0]][0].con_addr)) { if (t_engine->rtcp_mux > 0 && !strcmp(t_engine->ice_in.cands[t_engine->ice_in.chosen[1]][1].con_addr, t_engine->ice_in.cands[t_engine->ice_in.chosen[0]][0].con_addr) && t_engine->ice_in.cands[t_engine->ice_in.chosen[1]][1].con_port == t_engine->ice_in.cands[t_engine->ice_in.chosen[0]][0].con_port) { @@ -9404,7 +9406,9 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_sessi } - if (v_engine->ice_in.cands[v_engine->ice_in.chosen[1]][1].ready) { + if (v_engine->ice_in.cands[v_engine->ice_in.chosen[1]][1].ready && v_engine->ice_in.cands[v_engine->ice_in.chosen[0]][0].ready && + !zstr(v_engine->ice_in.cands[v_engine->ice_in.chosen[1]][1].con_addr) && + !zstr(v_engine->ice_in.cands[v_engine->ice_in.chosen[0]][0].con_addr)) { if (v_engine->rtcp_mux > 0 && !strcmp(v_engine->ice_in.cands[v_engine->ice_in.chosen[1]][1].con_addr, v_engine->ice_in.cands[v_engine->ice_in.chosen[0]][0].con_addr) && v_engine->ice_in.cands[v_engine->ice_in.chosen[1]][1].con_port == v_engine->ice_in.cands[v_engine->ice_in.chosen[0]][0].con_port) {