From d8864476454b7168550bf30fc3ff926f161850a0 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Sun, 25 May 2008 15:23:36 +0000 Subject: [PATCH] Thu May 22 10:57:40 EDT 2008 Pekka.Pessi@nokia.com * nua_register.c: fixed klocwork issues git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8640 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- libs/sofia-sip/.update | 2 +- .../libsofia-sip-ua/nua/nua_register.c | 22 ++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/libs/sofia-sip/.update b/libs/sofia-sip/.update index 23428c5d55..7fe0ddfeb5 100644 --- a/libs/sofia-sip/.update +++ b/libs/sofia-sip/.update @@ -1 +1 @@ -Sun May 25 11:23:06 EDT 2008 +Sun May 25 11:23:32 EDT 2008 diff --git a/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c b/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c index 6d57a7c69c..945839a2c1 100644 --- a/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c +++ b/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c @@ -188,7 +188,7 @@ static int nua_register_usage_add(nua_handle_t *nh, nua_dialog_state_t *ds, nua_dialog_usage_t *du) { - nua_registration_t *nr = nua_dialog_usage_private(du); + nua_registration_t *nr = NUA_DIALOG_USAGE_PRIVATE(du); if (ds->ds_has_register) return -1; /* There can be only one usage */ @@ -207,7 +207,7 @@ static void nua_register_usage_remove(nua_handle_t *nh, nua_client_request_t *cr, nua_server_request_t *sr) { - nua_registration_t *nr = nua_dialog_usage_private(du); + nua_registration_t *nr = NUA_DIALOG_USAGE_PRIVATE(du); if (nr->nr_list) nua_registration_remove(nr); /* Remove from list of registrations */ @@ -236,7 +236,7 @@ static void nua_register_usage_peer_info(nua_dialog_usage_t *du, nua_dialog_state_t const *ds, sip_t const *sip) { - nua_registration_t *nr = nua_dialog_usage_private(du); + nua_registration_t *nr = NUA_DIALOG_USAGE_PRIVATE(du); if (nr->nr_ob) outbound_peer_info(nr->nr_ob, sip); } @@ -1016,16 +1016,18 @@ void nua_register_connection_closed(tp_stack_t *sip_stack, msg_t *msg, int error) { - nua_dialog_usage_t *du = nua_dialog_usage_public(nr); + nua_dialog_usage_t *du; tp_name_t const *tpn; - int pending = nr->nr_error_report_id; + int pending; - assert(tport == nr->nr_tport); - - if (!nr->nr_tport) + assert(nr && tport == nr->nr_tport); + if (nr == NULL || tport != nr->nr_tport) return; - if (tport_release(nr->nr_tport, pending, NULL, NULL, nr, 0) < 0) + du = NUA_DIALOG_USAGE_PUBLIC(nr); + pending = nr->nr_error_report_id; + + if (tport_release(tport, pending, NULL, NULL, nr, 0) < 0) SU_DEBUG_1(("nua_register: tport_release() failed\n")); nr->nr_error_report_id = 0; @@ -1110,7 +1112,7 @@ static int nua_register_usage_shutdown(nua_handle_t *nh, nua_dialog_usage_t *du) { nua_client_request_t *cr = du->du_cr; - nua_registration_t *nr = nua_dialog_usage_private(du); + nua_registration_t *nr = NUA_DIALOG_USAGE_PRIVATE(du); if (cr) { if (nua_client_is_queued(cr)) /* Already registering. */