mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-16 14:58:25 +00:00
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
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user