Skip to content
Snippets Groups Projects
Commit 8b405b7b authored by Corey Farrell's avatar Corey Farrell
Browse files

chan_sip: Clean leak on error path of process_sdp

Resolve leak in process_sdp that occurs in 2 error path's where
crypto lines are expected but not provided.

ASTERISK-24385 #close
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/4045/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@424569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 4d1c38ef
Branches
Tags
No related merge requests found
......@@ -10377,10 +10377,12 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
/* Ensure crypto lines are provided where necessary */
if (audio && secure_audio && !processed_crypto) {
ast_log(LOG_WARNING, "Rejecting secure audio stream without encryption details: %s\n", m);
return -1;
res = -1;
goto process_sdp_cleanup_b;
} else if (video && secure_video && !processed_crypto) {
ast_log(LOG_WARNING, "Rejecting secure video stream without encryption details: %s\n", m);
return -1;
res = -1;
goto process_sdp_cleanup_b;
}
}
 
......@@ -10689,6 +10691,8 @@ process_sdp_cleanup:
if (res) {
offered_media_list_destroy(p);
}
process_sdp_cleanup_b:
ast_rtp_codecs_payloads_destroy(&newtextrtp);
ast_rtp_codecs_payloads_destroy(&newvideortp);
ast_rtp_codecs_payloads_destroy(&newaudiortp);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment