]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-9443 #resolve [SDP in a verto.invite with missing ICE candidates can segfault]
authorAnthony Minessale <anthm@freeswitch.org>
Sat, 20 Aug 2016 14:10:55 +0000 (09:10 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Sat, 20 Aug 2016 14:11:06 +0000 (09:11 -0500)
src/switch_core_media.c

index 4c552b7cafea48a4add469d8c2f39578a7cb8c2a..f5f6f427b1d9c9cea970284838b795a6cf501d04 100644 (file)
@@ -7037,8 +7037,10 @@ 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->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) {
+                                               if (v_engine->rtcp_mux > 0 && v_engine->ice_in.cands[v_engine->ice_in.chosen[0]][0].ready &&
+                                                       !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) {
                                                        switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_INFO, "Skipping VIDEO RTCP ICE (Same as VIDEO RTP)\n");
                                                } else {