summaryrefslogtreecommitdiff
path: root/usr/src/lib/libsip/common
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libsip/common')
-rw-r--r--usr/src/lib/libsip/common/sip_dialog.c4
-rw-r--r--usr/src/lib/libsip/common/sip_dialog_ui.c2
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;