diff options
Diffstat (limited to 'pjsip/src/pjsip/sip_endpoint.c')
-rw-r--r-- | pjsip/src/pjsip/sip_endpoint.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/pjsip/src/pjsip/sip_endpoint.c b/pjsip/src/pjsip/sip_endpoint.c index 3d109e4c..53561030 100644 --- a/pjsip/src/pjsip/sip_endpoint.c +++ b/pjsip/src/pjsip/sip_endpoint.c @@ -311,6 +311,10 @@ PJ_DEF(pj_status_t) pjsip_endpt_add_capability( pjsip_endpoint *endpt, default: return PJ_EINVAL; } + + if (hdr) { + pj_list_push_back(&endpt->cap_hdr, hdr); + } } /* Add the tags to the header. */ @@ -755,6 +759,11 @@ static void endpt_on_rx_msg( pjsip_endpoint *endpt, } pj_rwmutex_unlock_read(endpt->mod_mutex); + + /* Must clear mod_data before returning rdata to transport, since + * rdata may be reused. + */ + pj_memset(&rdata->endpt_info, 0, sizeof(rdata->endpt_info)); } /* |