osaf/services/saf/amf/amfd/si.cc         |  24 ++++++++++++------------
 osaf/services/saf/amf/amfd/si_dep.cc     |  11 ++++++++---
 osaf/services/saf/amf/amfd/siass.cc      |   4 ++--
 osaf/services/saf/amf/amfd/sirankedsu.cc |  15 ++++++++-------
 4 files changed, 30 insertions(+), 24 deletions(-)


* Unnecessary header file (HFA)
* Dereference after null check (FORWARD_NULL)
* Dereference null return value (NULL_RETURNS)
* Logically dead code (DEADCODE)
* Big parameter passed by value (PASS_BY_VALUE)
* Unchecked return value (CHECKED_RETURN)
* Side effect in assertion (ASSERT_SIDE_EFFECT)
* Unused pointer value (UNUSED_VALUE)

diff --git a/osaf/services/saf/amf/amfd/si.cc b/osaf/services/saf/amf/amfd/si.cc
--- a/osaf/services/saf/amf/amfd/si.cc
+++ b/osaf/services/saf/amf/amfd/si.cc
@@ -25,7 +25,6 @@
 #include <imm.h>
 #include <csi.h>
 #include <proc.h>
-#include <si_dep.h>
 
 static NCS_PATRICIA_TREE si_db;
 static void avd_si_add_csi_db(struct avd_csi_tag* csi);
@@ -264,7 +263,7 @@
 
        if (prev == NULL)
                si->rankedsu_list_head = NULL;
-       else
+       else if (tmp != NULL)
                prev->next = tmp->next;
 
        delete tmp;
@@ -451,14 +450,20 @@
 
        avsv_sanamet_init(&si->name, &dn, "safApp");
        si->app = avd_app_get(&dn);
+       // si->app should not be null
+       osafassert(si->app);
 
        avd_si_db_add(si);
 
        si->svc_type = avd_svctype_get(&si->saAmfSvcType);
+       // si->svc_type should not be null
+       osafassert(si->svc_type);
 
-       if (si->saAmfSIProtectedbySG.length > 0)
+       if (si->saAmfSIProtectedbySG.length > 0) {
                si->sg_of_si = avd_sg_get(&si->saAmfSIProtectedbySG);
-
+               osafassert(si->sg_of_si);
+       }
+       
        avd_svctype_add_si(si);
        avd_app_add_si(si->app, si);
        avd_sg_add_si(si->sg_of_si, si);
@@ -539,7 +544,6 @@
 static AVD_SI *si_create(SaNameT *si_name, const SaImmAttrValuesT_2 
**attributes)
 {
        unsigned int i;
-       int rc = -1;
        AVD_SI *si;
        AVD_SU_SI_REL *sisu;
        AVD_COMP_CSI_REL *compcsi, *temp;
@@ -634,14 +638,7 @@
                si->saAmfSIAdminState = SA_AMF_ADMIN_UNLOCKED;
        }
 
-       rc = 0;
-
 done:
-       if (rc != 0) {
-               avd_si_delete(si);
-               si = NULL;
-       }
-
        return si;
 }
 
@@ -784,6 +781,7 @@
        TRACE_ENTER2("%s op=%llu", objectName->value, operationId);
 
        si = avd_si_get(objectName);
+       osafassert(si);
        
        if ((operationId != SA_AMF_ADMIN_SI_SWAP) && (si->sg_of_si->sg_ncs_spec 
== SA_TRUE)) {
                report_admin_op_error(immOiHandle, invocation, 
SA_AIS_ERR_NOT_SUPPORTED, NULL,
@@ -965,6 +963,7 @@
                break;
        case CCBUTIL_DELETE:
                si = avd_si_get(&opdata->objectName);
+               osafassert(si);
                if (NULL != si->list_of_sisu) {
                        report_ccb_validation_error(opdata, "SaAmfSI is in use 
'%s'", si->name.value);
                        goto done;
@@ -1352,6 +1351,7 @@
 void avd_si_constructor(void)
 {
        NCS_PATRICIA_PARAMS patricia_params;
+       memset(&patricia_params, 0, sizeof(NCS_PATRICIA_PARAMS));
 
        patricia_params.key_size = sizeof(SaNameT);
        osafassert(ncs_patricia_tree_init(&si_db, &patricia_params) == 
NCSCC_RC_SUCCESS);
diff --git a/osaf/services/saf/amf/amfd/si_dep.cc 
b/osaf/services/saf/amf/amfd/si_dep.cc
--- a/osaf/services/saf/amf/amfd/si_dep.cc
+++ b/osaf/services/saf/amf/amfd/si_dep.cc
@@ -1423,8 +1423,10 @@
        }
 
        /* Add to dependent's sponsors list */
-       osafassert(spons_si = avd_si_get(&indx.si_name_prim));
-       osafassert(dep_si = avd_si_get(&indx.si_name_sec));
+       spons_si = avd_si_get(&indx.si_name_prim);
+       osafassert(spons_si);
+       dep_si = avd_si_get(&indx.si_name_sec);
+       osafassert(dep_si);
        avd_si_dep_spons_list_add(dep_si, spons_si, sidep);
 
        if (avd_cb->avail_state_avd == SA_AMF_HA_ACTIVE)  {
@@ -1536,12 +1538,14 @@
        switch (opdata->operationType) {
        case CCBUTIL_CREATE:
                sidep = sidep_new(&opdata->objectName, 
opdata->param.create.attrValues);
+               osafassert(sidep);
                break;
 
        case CCBUTIL_DELETE:
                avd_sidep_indx_init(&opdata->objectName, &indx);
                sidep = avd_sidep_find(avd_cb, &indx, true);
-               osafassert(dep_si = avd_si_get(&indx.si_name_sec));
+               dep_si = avd_si_get(&indx.si_name_sec);
+               osafassert(dep_si);
                /* If SI is in tolerance timer running state because of this
                 * SI-SI dep cfg, then stop the tolerance timer.
                 */
@@ -1564,6 +1568,7 @@
        case CCBUTIL_MODIFY:
                avd_sidep_indx_init(&opdata->objectName, &indx);
                sidep = avd_sidep_find(avd_cb, &indx, true);
+               osafassert(sidep);
                while ((attr_mod = opdata->param.modify.attrMods[i++]) != NULL) 
{
                        if (!strcmp(attr_mod->modAttr.attrName, 
"saAmfToleranceTime")) {
                                TRACE("saAmfToleranceTime modified from '%llu' 
to '%llu'", sidep->saAmfToleranceTime,
diff --git a/osaf/services/saf/amf/amfd/siass.cc 
b/osaf/services/saf/amf/amfd/siass.cc
--- a/osaf/services/saf/amf/amfd/siass.cc
+++ b/osaf/services/saf/amf/amfd/siass.cc
@@ -349,7 +349,7 @@
  * 
  **************************************************************************/
 
-AVD_SU_SI_REL *avd_susi_find_next(AVD_CL_CB *cb, SaNameT su_name, SaNameT 
si_name)
+AVD_SU_SI_REL *avd_susi_find_next(AVD_CL_CB *cb, const SaNameT& su_name, const 
SaNameT& si_name)
 {
        AVD_SU *su;
        AVD_SU_SI_REL *su_si = NULL;
@@ -636,7 +636,7 @@
        old_fsm_state = susi->fsm;
        susi->fsm = AVD_SU_SI_STATE_UNASGN;
 
-       avd_snd_susi_msg(avd_cb, susi->su, susi, AVSV_SUSI_ACT_DEL, false, 
NULL);
+       rc = avd_snd_susi_msg(avd_cb, susi->su, susi, AVSV_SUSI_ACT_DEL, false, 
NULL);
        if (NCSCC_RC_SUCCESS != rc) {
                LOG_NO("susi del msg snd failed %s:%u: SU:%s SI:%s", 
__FILE__,__LINE__,
                                susi->su->name.value,susi->si->name.value);
diff --git a/osaf/services/saf/amf/amfd/sirankedsu.cc 
b/osaf/services/saf/amf/amfd/sirankedsu.cc
--- a/osaf/services/saf/amf/amfd/sirankedsu.cc
+++ b/osaf/services/saf/amf/amfd/sirankedsu.cc
@@ -32,7 +32,6 @@
 #include <susi.h>
 #include <immutil.h>
 #include <imm.h>
-#include <csi.h>
 #include <logtrace.h>
 
 static NCS_PATRICIA_TREE sirankedsu_db;
@@ -46,7 +45,8 @@
 
         /* Find the si name. */
         avd_si = avd_si_get(&(sirankedsu->indx.si_name));
-       avd_si_add_rankedsu(avd_si, &sirankedsu->su_name, 
sirankedsu->indx.su_rank);
+        osafassert(avd_si);
+        avd_si_add_rankedsu(avd_si, &sirankedsu->su_name, 
sirankedsu->indx.su_rank);
 
         /* Add sus_per_si_rank to si */
         sirankedsu->sus_per_si_rank_on_si = avd_si;
@@ -71,7 +71,7 @@
  * 
  **************************************************************************/
 
-static AVD_SUS_PER_SI_RANK *avd_sirankedsu_create(AVD_CL_CB *cb, 
AVD_SUS_PER_SI_RANK_INDX indx)
+static AVD_SUS_PER_SI_RANK *avd_sirankedsu_create(AVD_CL_CB *cb, const 
AVD_SUS_PER_SI_RANK_INDX& indx)
 {
        AVD_SUS_PER_SI_RANK *ranked_su_per_si;
 
@@ -107,7 +107,7 @@
  * 
  **************************************************************************/
 
-static AVD_SUS_PER_SI_RANK *avd_sirankedsu_find(AVD_CL_CB *cb, 
AVD_SUS_PER_SI_RANK_INDX indx)
+static AVD_SUS_PER_SI_RANK *avd_sirankedsu_find(AVD_CL_CB *cb, const 
AVD_SUS_PER_SI_RANK_INDX& indx)
 {
        AVD_SUS_PER_SI_RANK *ranked_su_per_si = NULL;
        AVD_SUS_PER_SI_RANK_INDX rank_indx;
@@ -138,7 +138,7 @@
  * 
  **************************************************************************/
 
-AVD_SUS_PER_SI_RANK *avd_sirankedsu_getnext(AVD_CL_CB *cb, 
AVD_SUS_PER_SI_RANK_INDX indx)
+AVD_SUS_PER_SI_RANK *avd_sirankedsu_getnext(AVD_CL_CB *cb, const 
AVD_SUS_PER_SI_RANK_INDX& indx)
 {
        AVD_SUS_PER_SI_RANK *ranked_su_per_si = NULL;
        AVD_SUS_PER_SI_RANK_INDX rank_indx;
@@ -174,7 +174,7 @@
  **************************************************************************/
 
 AVD_SUS_PER_SI_RANK *avd_sirankedsu_getnext_valid(AVD_CL_CB *cb,
-       AVD_SUS_PER_SI_RANK_INDX indx, AVD_SU **o_su)
+       const AVD_SUS_PER_SI_RANK_INDX& indx, AVD_SU **o_su)
 {
        AVD_SUS_PER_SI_RANK *ranked_su_per_si = NULL;
        AVD_SUS_PER_SI_RANK_INDX rank_indx;
@@ -564,7 +564,7 @@
                 if (!is_config_valid(&dn, attributes, NULL))
                        goto done2;
 
-               if ((avd_sirankedsu = avd_sirankedsu_find(avd_cb, indx)) == 
NULL) {
+               if (avd_sirankedsu_find(avd_cb, indx) == NULL) {
                        if ((avd_sirankedsu = 
avd_sirankedsu_ccb_apply_create_hdlr(&dn, attributes)) == NULL)
                                goto done2;
 
@@ -584,6 +584,7 @@
 void avd_sirankedsu_constructor(void)
 {
         NCS_PATRICIA_PARAMS patricia_params;
+        memset(&patricia_params, 0, sizeof(NCS_PATRICIA_PARAMS));
 
         patricia_params.key_size = sizeof(AVD_SUS_PER_SI_RANK_INDX);
         osafassert(ncs_patricia_tree_init(&sirankedsu_db, &patricia_params) == 
NCSCC_RC_SUCCESS);

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to