diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-05-01 23:17:12 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-05-01 23:17:12 +0000 |
commit | ae85b9562e1179f31936ffa599a8217d43b7ca1a (patch) | |
tree | af05a2f5040ed9dd58720ed414487fa10bafe20f /channels/chan_sip.c | |
parent | f53c8a8efdf277e3a14b342c760eee75a7e99ceb (diff) |
ensure object reference is removed after unlinking from container
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5545 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_sip.c')
-rwxr-xr-x | channels/chan_sip.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 809cc15cf..84c6b0b44 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4717,8 +4717,10 @@ static int expire_register(void *data) register_peer_exten(peer, 0); peer->expire = -1; ast_device_state_changed("SIP/%s", peer->name); - if (ast_test_flag(peer, SIP_SELFDESTRUCT) || ast_test_flag((&peer->flags_page2), SIP_PAGE2_RTAUTOCLEAR)) - ASTOBJ_CONTAINER_UNLINK(&peerl, peer); + if (ast_test_flag(peer, SIP_SELFDESTRUCT) || ast_test_flag((&peer->flags_page2), SIP_PAGE2_RTAUTOCLEAR)) { + peer = ASTOBJ_CONTAINER_UNLINK(&peerl, peer); + ASTOBJ_UNREF(peer, sip_destroy_peer); + } return 0; } |