summaryrefslogtreecommitdiff
path: root/usr/src/lib/libsip/common/sip_dialog.c
diff options
context:
space:
mode:
authorgm209912 <none@none>2007-07-12 10:26:20 -0700
committergm209912 <none@none>2007-07-12 10:26:20 -0700
commit5878c602b2d040000355d54d766aac95446139a9 (patch)
treeaada2b4f9ef7bc3295437fc34f5d4e76070ed757 /usr/src/lib/libsip/common/sip_dialog.c
parente111f270cd1c7f2d987a163e6fe7abed28183ae7 (diff)
downloadillumos-gate-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/common/sip_dialog.c')
-rw-r--r--usr/src/lib/libsip/common/sip_dialog.c4
1 files changed, 4 insertions, 0 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);
/*