From: Michael Jerris Date: Fri, 12 Sep 2008 16:28:10 +0000 (+0000) Subject: Fri Sep 12 12:25:18 EDT 2008 Pekka Pessi X-Git-Tag: v1.0.2~1222 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1f3b34ae96148d258f15383114df2f0565702574;p=thirdparty%2Ffreeswitch.git Fri Sep 12 12:25:18 EDT 2008 Pekka Pessi * nua_stack.c: keep reference when destroying un-ACKed INVITE git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9542 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/libs/sofia-sip/.update b/libs/sofia-sip/.update index 848230d853..306e59d492 100644 --- a/libs/sofia-sip/.update +++ b/libs/sofia-sip/.update @@ -1 +1 @@ -Fri Sep 12 12:27:38 EDT 2008 +Fri Sep 12 12:28:02 EDT 2008 diff --git a/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c b/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c index 2b1bd8bf26..4a21249ae5 100644 --- a/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c +++ b/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c @@ -2188,9 +2188,12 @@ static int nua_client_request_complete(nua_client_request_t *cr) { if (cr->cr_orq) { + nua_client_request_ref(cr); if (cr && cr->cr_methods->crm_complete) cr->cr_methods->crm_complete(cr); nua_client_request_clean(cr); + if (nua_client_request_unref(cr)) + return 1; } return nua_client_request_remove(cr); @@ -2224,8 +2227,7 @@ nua_client_request_destroy(nua_client_request_t *cr) cr->cr_msg = NULL, cr->cr_sip = NULL; if (cr->cr_orq) - nta_outgoing_destroy(cr->cr_orq); - cr->cr_orq = NULL; + nta_outgoing_destroy(cr->cr_orq), cr->cr_orq = NULL; if (cr->cr_target) su_free(nh->nh_home, cr->cr_target);