aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authormmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-09-19 15:48:37 +0000
committermmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-09-19 15:48:37 +0000
commit66bbb97a968f7f329ede1bccf5972105351f7f9e (patch)
treee5ee2bbbc0534dab660bbf506290ee38d7c78847 /channels
parentd935a3f2b7540b843f9564e0e634246303617f08 (diff)
Merged revisions 143609 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r143609 | mmichelson | 2008-09-19 10:43:28 -0500 (Fri, 19 Sep 2008) | 11 lines 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: http://svn.digium.com/svn/asterisk/branches/1.6.0@143610 f38db490-d61c-443f-a65b-d21fe96a405b
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 f582b7287..a235d84ed 100644
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -2492,7 +2492,9 @@ static int unload_module(void)
/* First, take us out of the channel loop */
ast_channel_unregister(&agent_tech);
/* Delete devicestate subscription */
- 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 */