diff options
author | Richard Mudgett <rmudgett@digium.com> | 2015-01-21 21:57:45 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2015-01-21 21:57:45 +0000 |
commit | 38738a7316c944daa2e4968e2c0eaa61af8fd09a (patch) | |
tree | c2c4e0902b2b2a494d03fb0ac3153d279c714281 /res/res_pjsip_outbound_registration.c | |
parent | 5835bf7a7f2ba2b374aee6807307a6c3c73676f2 (diff) |
res_pjsip_outbound_registration.c: Move unref to a better place.
Move an unconditional unref of client_state so it doesn't look like it
could be used after the last ref has destroyed it.
........
Merged revisions 430902 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_pjsip_outbound_registration.c')
-rw-r--r-- | res/res_pjsip_outbound_registration.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/res/res_pjsip_outbound_registration.c b/res/res_pjsip_outbound_registration.c index 167bf7f3d..2aed231ee 100644 --- a/res/res_pjsip_outbound_registration.c +++ b/res/res_pjsip_outbound_registration.c @@ -462,8 +462,6 @@ static int handle_client_registration(void *data) pjsip_regc_info info; char server_uri[PJSIP_MAX_URL_SIZE], client_uri[PJSIP_MAX_URL_SIZE]; - ao2_ref(client_state, -1); - if ((client_state->status == SIP_REGISTRATION_STOPPED) || (pjsip_regc_register(client_state->client, PJ_FALSE, &tdata) != PJ_SUCCESS)) { return 0; @@ -512,6 +510,7 @@ static void sip_outbound_registration_timer_cb(pj_timer_heap_t *timer_heap, stru ast_log(LOG_WARNING, "Failed to pass outbound registration to threadpool\n"); ao2_ref(client_state, -1); } + ao2_ref(client_state, -1); entry->id = 0; } |