diff options
| author | gm209912 <none@none> | 2007-07-12 10:26:20 -0700 |
|---|---|---|
| committer | gm209912 <none@none> | 2007-07-12 10:26:20 -0700 |
| commit | 5878c602b2d040000355d54d766aac95446139a9 (patch) | |
| tree | aada2b4f9ef7bc3295437fc34f5d4e76070ed757 /usr/src/lib/libsip | |
| parent | e111f270cd1c7f2d987a163e6fe7abed28183ae7 (diff) | |
| download | illumos-joyent-5878c602b2d040000355d54d766aac95446139a9.tar.gz | |
6577286 sip_create_dialog_req() incorrectly fills in the contact header
6577343 incorrect assert aborts the program
Diffstat (limited to 'usr/src/lib/libsip')
| -rw-r--r-- | usr/src/lib/libsip/common/sip_dialog.c | 4 | ||||
| -rw-r--r-- | usr/src/lib/libsip/common/sip_dialog_ui.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/usr/src/lib/libsip/common/sip_dialog.c b/usr/src/lib/libsip/common/sip_dialog.c index 402c6f32ae..4c8605b8a7 100644 --- a/usr/src/lib/libsip/common/sip_dialog.c +++ b/usr/src/lib/libsip/common/sip_dialog.c @@ -1392,6 +1392,10 @@ sip_dialog_process(_sip_msg_t *sip_msg, sip_dialog_t *sip_dialog) return (error); (void) pthread_mutex_lock(&_dialog->sip_dlg_mutex); + if (_dialog->sip_dlg_state == SIP_DLG_DESTROYED) { + (void) pthread_mutex_unlock(&_dialog->sip_dlg_mutex); + return (0); + } assert(_dialog->sip_dlg_state == SIP_DLG_EARLY || _dialog->sip_dlg_state == SIP_DLG_CONFIRMED); /* diff --git a/usr/src/lib/libsip/common/sip_dialog_ui.c b/usr/src/lib/libsip/common/sip_dialog_ui.c index e48025b3c2..66b5982abd 100644 --- a/usr/src/lib/libsip/common/sip_dialog_ui.c +++ b/usr/src/lib/libsip/common/sip_dialog_ui.c @@ -76,8 +76,6 @@ sip_create_dialog_req(sip_method_t method, sip_dialog_t dialog, 0) { goto err_ret; } - if (sip_copy_header(sip_msg, _dialog->sip_dlg_remote_target, NULL) != 0) - goto err_ret; if (sip_add_via(sip_msg, transport, sent_by, sent_by_port, via_param) != 0) { goto err_ret; |
