summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2008-09-19 15:43:28 +0000
committerMark Michelson <mmichelson@digium.com>2008-09-19 15:43:28 +0000
commit02a0855e57755964cd6c95cc4007cc99b1923525 (patch)
tree5c58535d7acba9e1ea944e6942f5d0df00edd05d /channels
parent12073c2a96becf7a0264a69770db4650dd82708e (diff)
We should only unsubscribe to the device state event
subscription if we have previously subscribed. Otherwise a segfault will occur. (closes issue #13476) Reported by: jonnt Patches: 13476.patch uploaded by putnopvut (license 60) Tested by: jonnt git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@143609 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_agent.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index 83dbd38e4..f84c0f011 100644
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -2535,7 +2535,9 @@ static int unload_module(void)
/* First, take us out of the channel loop */
ast_channel_unregister(&agent_tech);
/* Delete devicestate subscription */
- agent_devicestate_sub = ast_event_unsubscribe(agent_devicestate_sub);
+ if (agent_devicestate_sub) {
+ agent_devicestate_sub = ast_event_unsubscribe(agent_devicestate_sub);
+ }
/* Unregister dialplan functions */
ast_custom_function_unregister(&agent_function);
/* Unregister CLI commands */