diff options
author | George Joseph <george.joseph@fairview5.com> | 2015-01-08 21:38:26 +0000 |
---|---|---|
committer | George Joseph <george.joseph@fairview5.com> | 2015-01-08 21:38:26 +0000 |
commit | c55f86c69d5e99492fb95b6a375085ce33f23ae0 (patch) | |
tree | 23fb8baacd018ea0137cbe2a327729bcf02007fc /res/res_pjsip_outbound_registration.c | |
parent | 030facce949c3cdd81237826d46bea876242cb30 (diff) |
res_pjsip_outbound_registration: Fix reference leak.
Every time a registration started, sip_outbound_registration_response_cb bumps
the ref count on client_state then pushes a handle_registration_response task.
handle_registration_response never unreffed it though. So every time a
registration goes out, the ref count goes up by one.
This patch adds the unreffs to handle_registration_response.
Tested-by: George Joseph
Review: https://reviewboard.asterisk.org/r/4303/
........
Merged revisions 430395 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_pjsip_outbound_registration.c')
-rw-r--r-- | res/res_pjsip_outbound_registration.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/res/res_pjsip_outbound_registration.c b/res/res_pjsip_outbound_registration.c index 6ccb7fcf2..b2e9bb045 100644 --- a/res/res_pjsip_outbound_registration.c +++ b/res/res_pjsip_outbound_registration.c @@ -462,7 +462,7 @@ static int handle_client_registration(void *data) pjsip_regc_info info; char server_uri[PJSIP_MAX_URL_SIZE], client_uri[PJSIP_MAX_URL_SIZE]; - cancel_registration(client_state); + ao2_ref(client_state, -1); if ((client_state->status == SIP_REGISTRATION_STOPPED) || (pjsip_regc_register(client_state->client, PJ_FALSE, &tdata) != PJ_SUCCESS)) { |