summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-09-13 23:48:45 +0000
committerBenny Prijono <bennylp@teluu.com>2006-09-13 23:48:45 +0000
commitd028655fbf8461a741b19c54bc672319256d3125 (patch)
tree0a4ce1bbd3b54508c28a37cf8a99bc3fc75aad3b
parenta0fe9be8add2f491e7c41fbbbee565921a02acc1 (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
-rw-r--r--pjsip/src/pjsip-ua/sip_reg.c6
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, &regc->timer);