res_pjsip_sdp_rtp: Fix ICE candidates leak.

Given the non-default configuration of enabling ICE support on an
endpoint that does not result in an ICE negotiation occurring the
ICE candidates would be leaked.

This change makes it so that the ICE candidates are only retrieved
if ICE negotiation is occurring.

ASTERISK-28460

Change-Id: I7b3f76f031c41fb8a3dc3ef1a84b77e2a8cb969f
This commit is contained in:
Joshua Colp
2019-06-24 10:08:06 +00:00
parent f22dedc597
commit 9721f3908d

View File

@@ -527,11 +527,7 @@ static void add_ice_to_stream(struct ast_sip_session *session, struct ast_sip_se
struct ast_rtp_engine_ice_candidate *candidate;
if (!session->endpoint->media.rtp.ice_support || !(ice = ast_rtp_instance_get_ice(session_media->rtp)) ||
!(candidates = ice->get_local_candidates(session_media->rtp))) {
return;
}
if (!session_media->remote_ice) {
!session_media->remote_ice || !(candidates = ice->get_local_candidates(session_media->rtp))) {
return;
}