diff options
author | Riza Sulistyo <riza@teluu.com> | 2016-06-07 10:07:57 +0000 |
---|---|---|
committer | Riza Sulistyo <riza@teluu.com> | 2016-06-07 10:07:57 +0000 |
commit | c95d1a0f5bbf0d68ba6ab45416d482165bb7c8dc (patch) | |
tree | dd1cc8ff3798d9df09d48e3b2471dfa227b37d1a /pjsip/src/pjsip-ua | |
parent | 8058df78cebe49a6f8391c9a0b2c0e7bc42c7027 (diff) |
Re #1929: Avoid memory pool growing when doing re-Registration.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5336 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsip-ua')
-rw-r--r-- | pjsip/src/pjsip-ua/sip_reg.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/pjsip/src/pjsip-ua/sip_reg.c b/pjsip/src/pjsip-ua/sip_reg.c index bdb0460b..52a55632 100644 --- a/pjsip/src/pjsip-ua/sip_reg.c +++ b/pjsip/src/pjsip-ua/sip_reg.c @@ -176,6 +176,7 @@ PJ_DEF(pj_status_t) pjsip_regc_destroy(pjsip_regc *regc) regc->cb = NULL; pj_lock_release(regc->lock); } else { + pjsip_cached_auth *auth = NULL; pjsip_tpselector_dec_ref(®c->tp_sel); if (regc->last_transport) { pjsip_transport_dec_ref(regc->last_transport); @@ -189,6 +190,13 @@ PJ_DEF(pj_status_t) pjsip_regc_destroy(pjsip_regc *regc) pj_lock_release(regc->lock); pj_lock_destroy(regc->lock); regc->lock = NULL; + + auth = regc->auth_sess.cached_auth.next; + while (auth != ®c->auth_sess.cached_auth) { + pjsip_endpt_release_pool(regc->endpt, auth->pool); + auth = auth->next; + } + pjsip_endpt_release_pool(regc->endpt, regc->pool); } |