diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-09-13 23:48:45 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-09-13 23:48:45 +0000 |
commit | d028655fbf8461a741b19c54bc672319256d3125 (patch) | |
tree | 0a4ce1bbd3b54508c28a37cf8a99bc3fc75aad3b /pjsip/src/pjsip-ua/sip_reg.c | |
parent | a0fe9be8add2f491e7c41fbbbee565921a02acc1 (diff) |
Fixed bug in client REGISTER: crashed when application calls pjsip_regc_register()/pjsip_regc_send() while previous REGISTER request has not been answered with final response. This occurs for example when pjsip_regc_register() is called in quick successions.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@714 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsip-ua/sip_reg.c')
-rw-r--r-- | pjsip/src/pjsip-ua/sip_reg.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pjsip/src/pjsip-ua/sip_reg.c b/pjsip/src/pjsip-ua/sip_reg.c index b61fa469..cfb59d4f 100644 --- a/pjsip/src/pjsip-ua/sip_reg.c +++ b/pjsip/src/pjsip-ua/sip_reg.c @@ -371,9 +371,11 @@ PJ_DEF(pj_status_t) pjsip_regc_register(pjsip_regc *regc, pj_bool_t autoreg, /* Add Contact header. */ msg = tdata->msg; - pjsip_msg_add_hdr(msg, (pjsip_hdr*) regc->contact_hdr); + pjsip_msg_add_hdr(msg, pjsip_hdr_shallow_clone(tdata->pool, + regc->contact_hdr)); if (regc->expires_hdr) - pjsip_msg_add_hdr(msg, (pjsip_hdr*) regc->expires_hdr); + pjsip_msg_add_hdr(msg, pjsip_hdr_shallow_clone(tdata->pool, + regc->expires_hdr)); if (regc->timer.id != 0) { pjsip_endpt_cancel_timer(regc->endpt, ®c->timer); |