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