summaryrefslogtreecommitdiff
path: root/net/asterisk-13.x/patches/110-AST-2019-008-13.diff
diff options
context:
space:
mode:
authorJiri Slachta <jiri@slachta.eu>2019-12-01 22:21:24 +0100
committerGitHub <noreply@github.com>2019-12-01 22:21:24 +0100
commit4a189f3e21227bc7383cccda6b621ee3f2e61c98 (patch)
treeb9ce1e9ecf4627e4437da904abda599e172f25fb /net/asterisk-13.x/patches/110-AST-2019-008-13.diff
parent039faa9ef975fc44dd9ef3c022f7d4e7c7e4222f (diff)
parent15307b4c3841ee2dfeeadb916fd20776774938e0 (diff)
Merge pull request #490 from micmac1/17.01-AST-2019-006_007_008lede-17.01
[17.01] asterisk-13.x: add fixes for AST-2019-006, 007 & 008
Diffstat (limited to 'net/asterisk-13.x/patches/110-AST-2019-008-13.diff')
-rw-r--r--net/asterisk-13.x/patches/110-AST-2019-008-13.diff35
1 files changed, 35 insertions, 0 deletions
diff --git a/net/asterisk-13.x/patches/110-AST-2019-008-13.diff b/net/asterisk-13.x/patches/110-AST-2019-008-13.diff
new file mode 100644
index 0000000..a72069f
--- /dev/null
+++ b/net/asterisk-13.x/patches/110-AST-2019-008-13.diff
@@ -0,0 +1,35 @@
+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",