]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Fri Sep 12 12:25:18 EDT 2008 Pekka Pessi <first.last@nokia.com>
authorMichael Jerris <mike@jerris.com>
Fri, 12 Sep 2008 16:28:10 +0000 (16:28 +0000)
committerMichael Jerris <mike@jerris.com>
Fri, 12 Sep 2008 16:28:10 +0000 (16:28 +0000)
  * 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
libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c

index 848230d853f4ddea0b6076df5c3f5a9d00707544..306e59d49263141fcc1b124d4b58d85551ab70fa 100644 (file)
@@ -1 +1 @@
-Fri Sep 12 12:27:38 EDT 2008
+Fri Sep 12 12:28:02 EDT 2008
index 2b1bd8bf26d68a1acab58a5e7c1f438e76d1b550..4a21249ae50babde3cd51033d066fdab1bd5caa1 100644 (file)
@@ -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);