summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormicmac1 <sebastian_ml@gmx.net>2023-07-23 17:59:20 +0200
committerGitHub <noreply@github.com>2023-07-23 17:59:20 +0200
commitcde59edf98406a72b19ba856cd19a270c1a4090f (patch)
tree76b4ddaa19049c900a0db8f9b0e4a6fd7dc87bf3
parentbe76ecdf228cfc9a415e2e6b2b5ff79fb9e37cb0 (diff)
parent2a3c267335fe7090eca612ba0d6c25b2561aa511 (diff)
Merge pull request #824 from micmac1/22.03-ast-iax2-crash
[22.03] asterisk: add upstream patch against iax2 crash
-rw-r--r--net/asterisk/Makefile2
-rw-r--r--net/asterisk/patches/180-chan_iax2.c-Avoid-crash-with-IAX2-switch-support.patch25
2 files changed, 26 insertions, 1 deletions
diff --git a/net/asterisk/Makefile b/net/asterisk/Makefile
index f6e35d3..d670e8b 100644
--- a/net/asterisk/Makefile
+++ b/net/asterisk/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=asterisk
PKG_VERSION:=18.15.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=asterisk-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://downloads.asterisk.org/pub/telephony/asterisk/releases
diff --git a/net/asterisk/patches/180-chan_iax2.c-Avoid-crash-with-IAX2-switch-support.patch b/net/asterisk/patches/180-chan_iax2.c-Avoid-crash-with-IAX2-switch-support.patch
new file mode 100644
index 0000000..52a4dd5
--- /dev/null
+++ b/net/asterisk/patches/180-chan_iax2.c-Avoid-crash-with-IAX2-switch-support.patch
@@ -0,0 +1,25 @@
+From 39912b91384b4a6a4b4b34cdd338970c184fb096 Mon Sep 17 00:00:00 2001
+From: Sean Bright <sean@seanbright.com>
+Date: Fri, 7 Jul 2023 15:57:39 -0400
+Subject: [PATCH] chan_iax2.c: Avoid crash with IAX2 switch support.
+
+A change made in 82cebaa0 did not properly handle the case when a
+channel was not provided, triggering a crash. ast_check_hangup(...)
+does not protect against NULL pointers.
+
+Fixes #180
+---
+ channels/chan_iax2.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/channels/chan_iax2.c
++++ b/channels/chan_iax2.c
+@@ -14312,7 +14312,7 @@ static struct iax2_dpcache *find_cache(s
+ ast_log(LOG_WARNING, "Timeout waiting for %s exten %s\n", data, exten);
+ }
+
+- if (ast_check_hangup(chan)) {
++ if (chan && ast_check_hangup(chan)) {
+ doabort = 1;
+ }
+