telephony/net/asterisk-13.x/patches/110-AST-2019-008-13.diff

36 lines
1.2 KiB
Diff

From c257794330db49f4079a7108d51da60696269b36 Mon Sep 17 00:00:00 2001
From: Ben Ford <bford@digium.com>
Date: Fri, 08 Nov 2019 13:21:15 -0600
Subject: [PATCH] res_pjsip_session.c: Check for port of zero on incoming SDP.
If a re-invite comes in initiating T.38, but there is no c line in the
SDP and the port is also 0, a crash can occur. A check is now done on
the port to see if the steam is already declined, preventing the crash.
The logic was moved to res_pjsip_session.c because it is handled in a
similar manner in later versions of Asterisk.
ASTERISK-28612
Reported by: Salah Ahmed
Change-Id: Ifc4a0d05b32c7f2156e77fc8435a6ecaa6abada0
---
diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c
index 81f36a7..12cf41d 100644
--- a/res/res_pjsip_session.c
+++ b/res/res_pjsip_session.c
@@ -235,6 +235,13 @@
continue;
}
+ /* If we have a port of 0, ignore this stream */
+ if (!sdp->media[i]->desc.port) {
+ ast_debug(1, "Declining incoming SDP media stream '%s' at position '%d'\n",
+ session_media->stream_type, i);
+ continue;
+ }
+
if (session_media->handler) {
handler = session_media->handler;
ast_debug(1, "Negotiating incoming SDP media stream '%s' using %s SDP handler\n",