From fefe2e8b4f443c5856a355d119b439c06c2dd1e1 Mon Sep 17 00:00:00 2001
From: "Kevin P. Fleming" <kpfleming@digium.com>
Date: Wed, 27 Apr 2005 02:48:25 +0000
Subject: [PATCH] protect ResponseTimeout and DigitTimeout apps from crashing
 when called in non-PBX channels (bug #4078)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 pbx.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/pbx.c b/pbx.c
index 9a358de3f6..b721d4b0aa 100755
--- a/pbx.c
+++ b/pbx.c
@@ -5626,6 +5626,10 @@ static int pbx_builtin_atimeout(struct ast_channel *chan, void *data)
 
 static int pbx_builtin_rtimeout(struct ast_channel *chan, void *data)
 {
+	/* If the channel is not in a PBX, return now */
+	if (!chan->pbx)
+		return 0;
+
 	/* Set the timeout for how long to wait between digits */
 	chan->pbx->rtimeout = atoi((char *)data);
 	if (option_verbose > 2)
@@ -5635,6 +5639,10 @@ static int pbx_builtin_rtimeout(struct ast_channel *chan, void *data)
 
 static int pbx_builtin_dtimeout(struct ast_channel *chan, void *data)
 {
+	/* If the channel is not in a PBX, return now */
+	if (!chan->pbx)
+		return 0;
+
 	/* Set the timeout for how long to wait between digits */
 	chan->pbx->dtimeout = atoi((char *)data);
 	if (option_verbose > 2)
-- 
GitLab