From 1f3b34ae96148d258f15383114df2f0565702574 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Fri, 12 Sep 2008 16:28:10 +0000 Subject: [PATCH] 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 --- libs/sofia-sip/.update | 2 +- libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) 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);