aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormnicholson <mnicholson@f38db490-d61c-443f-a65b-d21fe96a405b>2010-06-22 17:31:57 +0000
committermnicholson <mnicholson@f38db490-d61c-443f-a65b-d21fe96a405b>2010-06-22 17:31:57 +0000
commit823d5a9dac08f335ae46c8311c553f4b13757334 (patch)
treedee82d75b849b4750f06691bc4304d7ff5f1596d
parenta7cd65efffa2bf83da46d6d8cad11915494e49e6 (diff)
Decrease the module ref count in sip_hangup when SIP_DEFER_BYE_ON_TRANSFER is set. This is necessary to keep the ref count correct.
(closes issue #16815) Reported by: rain Patches: chan_sip-unref-fix.diff uploaded by rain (license 327) (modified) Tested by: rain git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@271902 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_sip.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 6c1d4b7e1..8d36daebe 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -3695,6 +3695,7 @@ static int sip_hangup(struct ast_channel *ast)
ast_clear_flag(&p->flags[0], SIP_NEEDDESTROY);
p->owner->tech_pvt = NULL;
p->owner = NULL; /* Owner will be gone after we return, so take it away */
+ ast_module_unref(ast_module_info->self);
return 0;
}
if (option_debug) {