]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-10562: [core] Crashes referencing cannot access memory #comment Firefox sending...
authorAnthony Minessale <anthm@freeswitch.org>
Mon, 31 Jul 2017 20:00:18 +0000 (15:00 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Mon, 31 Jul 2017 20:01:01 +0000 (15:01 -0500)
src/switch_core_media.c

index 2441af5f8025efd8847046f89894c744320ff0b9..d6aba883ea724a67893d5c8d22d190cfc30c88f6 100644 (file)
@@ -7074,8 +7074,6 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_sessi
                        
                }
 
-
-
                if ((val = switch_channel_get_variable(session->channel, "rtcp_audio_interval_msec")) || (val = smh->mparams->rtcp_audio_interval_msec)) {
                        const char *rport = switch_channel_get_variable(session->channel, "rtp_remote_audio_rtcp_port");
                        switch_port_t remote_rtcp_port = a_engine->remote_rtcp_port;
@@ -7100,8 +7098,11 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_sessi
                                
                        }
 
-                       if (a_engine->ice_in.cands[a_engine->ice_in.chosen[1]][1].ready) {
-                               if (a_engine->rtcp_mux > 0 && !strcmp(a_engine->ice_in.cands[a_engine->ice_in.chosen[1]][1].con_addr, a_engine->ice_in.cands[a_engine->ice_in.chosen[0]][0].con_addr)
+                       if (a_engine->ice_in.cands[a_engine->ice_in.chosen[1]][1].ready && a_engine->ice_in.cands[a_engine->ice_in.chosen[0]][0].ready &&
+                               !zstr(a_engine->ice_in.cands[a_engine->ice_in.chosen[1]][1].con_addr) && 
+                               !zstr(a_engine->ice_in.cands[a_engine->ice_in.chosen[0]][0].con_addr)) {
+                               if (a_engine->rtcp_mux > 0 && 
+                                       !strcmp(a_engine->ice_in.cands[a_engine->ice_in.chosen[1]][1].con_addr, a_engine->ice_in.cands[a_engine->ice_in.chosen[0]][0].con_addr)
                                        && a_engine->ice_in.cands[a_engine->ice_in.chosen[1]][1].con_port == a_engine->ice_in.cands[a_engine->ice_in.chosen[0]][0].con_port) {
                                        switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_INFO, "Skipping RTCP ICE (Same as RTP)\n");
                                } else {