summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsip/sip_ua_layer.c
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-09-24 10:10:15 +0000
committerBenny Prijono <bennylp@teluu.com>2008-09-24 10:10:15 +0000
commitc2476cfffd0fa7f90ac72295de24ba6dea4ea161 (patch)
tree0a76d346be96d75d14e4ce627f689f76c1914a07 /pjsip/src/pjsip/sip_ua_layer.c
parent8fa5079ad7ee39493cd3231de2030335ad56eccc (diff)
Ticket #635: Disconnect the other call leg when multiple 2xx/OK responses to INVITE are received due to forking
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2315 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsip/sip_ua_layer.c')
-rw-r--r--pjsip/src/pjsip/sip_ua_layer.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/pjsip/src/pjsip/sip_ua_layer.c b/pjsip/src/pjsip/sip_ua_layer.c
index 21ff5f39..a614d16c 100644
--- a/pjsip/src/pjsip/sip_ua_layer.c
+++ b/pjsip/src/pjsip/sip_ua_layer.c
@@ -832,6 +832,10 @@ retry_on_deadlock:
if (mod_ua.param.on_dlg_forked) {
dlg = (*mod_ua.param.on_dlg_forked)(dlg_set->dlg_list.next,
rdata);
+ if (dlg == NULL) {
+ pj_mutex_unlock(mod_ua.mutex);
+ return PJ_TRUE;
+ }
} else {
dlg = dlg_set->dlg_list.next;