]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-11223: [core] fix Crash when firefox sends only rtcp and not rtp candidates on...
authorMike Jerris <mike@jerris.com>
Mon, 9 Jul 2018 18:53:13 +0000 (14:53 -0400)
committerMuteesa Fred <muteesafred@hotmail.com>
Tue, 24 Jul 2018 07:21:55 +0000 (07:21 +0000)
src/switch_core_media.c

index 4591bfc2f54c808c5a811a2b390da1ba7b945c02..5f0a9a1dde230dd7ba082d7fae3aa0b4801218d6 100644 (file)
@@ -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) {