]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Tue May 12 11:52:32 CDT 2009 Pekka Pessi <first.last@nokia.com>
authorMichael Jerris <mike@jerris.com>
Fri, 15 May 2009 15:50:43 +0000 (15:50 +0000)
committerMichael Jerris <mike@jerris.com>
Fri, 15 May 2009 15:50:43 +0000 (15:50 +0000)
  * nua_session.c: always clean and remove INVITE client request in nua_invite_client_ack()
  Ignore-this: bdace77be7b43629b591f5adf7315341

  Coverity issue.

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13324 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/sofia-sip/.update
libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c

index 5b93a20990ec452cb11ec56742b5b08fbb76e334..2a701b90a70fdadd5120b2a1fe1352cfa1114ea9 100644 (file)
@@ -1 +1 @@
-Fri May 15 10:49:06 CDT 2009
+Fri May 15 10:49:56 CDT 2009
index e32d9f1982fa53a7dbdb197804945e216b6aebf2..5c099e4ab66ca519d545532de1360fc60519af1c 100644 (file)
@@ -1250,9 +1250,7 @@ int nua_invite_client_ack(nua_client_request_t *cr, tagi_t const *tags)
 
   if (!ds->ds_leg) {
     /* XXX - fix nua_dialog_usage_remove_at() instead! */
-    nua_client_request_clean(cr);
-    nua_client_request_remove(cr);
-    return -1;
+    goto error;
   }
 
   assert(ds->ds_leg);
@@ -1260,7 +1258,7 @@ int nua_invite_client_ack(nua_client_request_t *cr, tagi_t const *tags)
   msg = nta_outgoing_getrequest(cr->cr_orq);
   sip = sip_object(msg);
   if (!msg)
-    return -1;
+    goto error;
   invite_branch = nta_outgoing_branch(cr->cr_orq);
 
   wa = sip_authorization(sip);
@@ -1271,7 +1269,7 @@ int nua_invite_client_ack(nua_client_request_t *cr, tagi_t const *tags)
   msg = nta_msg_create(nh->nh_nua->nua_nta, 0);
   sip = sip_object(msg);
   if (!msg)
-    return -1;
+    goto error;
 
   cseq = sip_cseq_create(msg_home(msg), cr->cr_seq, SIP_METHOD_ACK);
 
@@ -1386,6 +1384,7 @@ int nua_invite_client_ack(nua_client_request_t *cr, tagi_t const *tags)
   if (error == -1)
     msg_destroy(msg);
 
+ error:
   cr->cr_acked = 1;            /* ... or we have at least tried */
 
   nua_client_request_clean(cr);
@@ -1617,7 +1616,6 @@ static int nua_session_usage_shutdown(nua_handle_t *nh,
       }
       else if (cri->cr_status < 300 && !cri->cr_acked) {
        nua_invite_client_ack(cri, NULL);
-       nua_client_request_clean(cri);
       }
     }
     if (nua_client_create(nh, nua_r_bye, &nua_bye_client_methods, NULL) != 0)
@@ -3418,7 +3416,6 @@ static int nua_update_client_report(nua_client_request_t *cr,
          next_state = nua_callstate_ready;
        else
          next_state = nua_callstate_terminating;
-       nua_client_request_clean(du->du_cr);
       }
     }