add assertions where pointers should not be null fix a couple of typos --- src/amf/amfd/comp.cc | 1 + src/amf/amfd/csi.cc | 3 ++- src/amf/amfd/cstype.cc | 2 ++ src/amf/amfd/hlt.cc | 1 + src/amf/amfd/nodeswbundle.cc | 2 +- src/amf/amfd/ntf.cc | 1 + src/amf/amfd/sg_npm_fsm.cc | 34 +++++++++++++++++++--------------- src/amf/amfd/sg_nway_fsm.cc | 2 +- src/amf/amfd/sgproc.cc | 1 + src/amf/amfd/su.cc | 1 + src/amf/amfd/sutype.cc | 3 ++- src/amf/amfd/svctype.cc | 1 + src/amf/amfd/svctypecstypes.cc | 1 + src/amf/amfnd/cbq.cc | 2 ++ src/amf/amfnd/clc.cc | 1 + src/amf/amfnd/comp.cc | 4 ++++ src/amf/amfnd/compdb.cc | 2 +- src/amf/amfnd/susm.cc | 11 +++++++++++ 18 files changed, 53 insertions(+), 20 deletions(-)
diff --git a/src/amf/amfd/comp.cc b/src/amf/amfd/comp.cc index 0ff365e..5c6a283 100644 --- a/src/amf/amfd/comp.cc +++ b/src/amf/amfd/comp.cc @@ -2117,6 +2117,7 @@ static void comp_ccb_apply_modify_hdlr(struct CcbUtilOperationData *opdata) { attribute->attrValuesNumber); if (!strcmp(attribute->attrName, "saAmfCompType")) { + osafassert(value != nullptr); SaNameT *dn = (SaNameT *)value; const std::string oldType(comp->saAmfCompType); if (oldType.compare(Amf::to_string(dn)) == 0) { diff --git a/src/amf/amfd/csi.cc b/src/amf/amfd/csi.cc index f7e3730..1856610 100644 --- a/src/amf/amfd/csi.cc +++ b/src/amf/amfd/csi.cc @@ -913,7 +913,8 @@ static void ccb_apply_delete_hdlr(CcbUtilOperationData_t *opdata) { goto done; } - TRACE("'%s'", csi ? csi->name.c_str() : nullptr); + osafassert(csi != nullptr); + TRACE("'%s'", csi->name.c_str()); /* Check whether si has been assigned to any SU. */ if ((nullptr != csi->si->list_of_sisu) && (csi->compcsi_cnt != 0)) { diff --git a/src/amf/amfd/cstype.cc b/src/amf/amfd/cstype.cc index cadc6df..683d3cd 100644 --- a/src/amf/amfd/cstype.cc +++ b/src/amf/amfd/cstype.cc @@ -62,6 +62,7 @@ static AVD_CS_TYPE *cstype_create(const std::string &dn, * @param cst */ static void cstype_delete(AVD_CS_TYPE *cst) { + osafassert(cst != nullptr); cstype_db->erase(cst->name); cst->saAmfCSAttrName.clear(); delete cst; @@ -205,6 +206,7 @@ static SaAisErrorT cstype_ccb_completed_hdlr(CcbUtilOperationData_t *opdata) { opdata->userData = nullptr; break; } + osafassert(cst != nullptr); if (cst->list_of_csi != nullptr) { /* check whether there exists a delete operation for * each of the CSI in the cs_type list in the current CCB diff --git a/src/amf/amfd/hlt.cc b/src/amf/amfd/hlt.cc index 27863db..4c2737e 100644 --- a/src/amf/amfd/hlt.cc +++ b/src/amf/amfd/hlt.cc @@ -75,6 +75,7 @@ static SaAisErrorT ccb_completed_delete_hdlr(CcbUtilOperationData_t *opdata) { opdata->userData = nullptr; goto done; } + osafassert(comp != nullptr); for (curr_susi = comp->su->list_of_susi; curr_susi != nullptr; curr_susi = curr_susi->su_next) for (compcsi = curr_susi->list_of_csicomp; compcsi; diff --git a/src/amf/amfd/nodeswbundle.cc b/src/amf/amfd/nodeswbundle.cc index 4ab79f7..cf280cb 100644 --- a/src/amf/amfd/nodeswbundle.cc +++ b/src/amf/amfd/nodeswbundle.cc @@ -125,7 +125,7 @@ static int is_swbdl_delete_ok(const std::string &bundle_dn, if (node == nullptr && avd_cb->is_active() == false) { return 1; } - + osafassert(node != nullptr); if (!is_swbdl_delete_ok_for_node(bundle_dn, node_dn, node->list_of_ncs_su, opdata)) return 0; diff --git a/src/amf/amfd/ntf.cc b/src/amf/amfd/ntf.cc index eb2654a..52ee745 100644 --- a/src/amf/amfd/ntf.cc +++ b/src/amf/amfd/ntf.cc @@ -505,6 +505,7 @@ SaAisErrorT avd_try_send_notification(NtfSend* job) { &myntf->notification.alarmNotification.notificationHandle; } + osafassert(notificationHandle != nullptr); // Try to send the notification if not sent. if (job->already_sent == false) { rc = saNtfNotificationSend(*notificationHandle); diff --git a/src/amf/amfd/sg_npm_fsm.cc b/src/amf/amfd/sg_npm_fsm.cc index 0ef094d..0e91eb5 100644 --- a/src/amf/amfd/sg_npm_fsm.cc +++ b/src/amf/amfd/sg_npm_fsm.cc @@ -2773,23 +2773,26 @@ static uint32_t avd_sg_npm_susi_sucss_si_oper(AVD_CL_CB *cb, AVD_SU *su, * modify standby all to the Quiesced SU. Remove the SI from * admin pointer and add the quiesced SU to the SU oper list. */ - if (su->sg_of_su->admin_si->list_of_sisu == i_susi) { - o_susi = i_susi->si_next; - } else { - o_susi = su->sg_of_su->admin_si->list_of_sisu; - } + i_susi = avd_su_susi_find(cb, su, su->sg_of_su->admin_si->name); + if (i_susi != nullptr) { + if (su->sg_of_su->admin_si->list_of_sisu == i_susi) { + o_susi = i_susi->si_next; + } else { + o_susi = su->sg_of_su->admin_si->list_of_sisu; + } - if (avd_sg_su_si_mod_snd(cb, o_susi->su, SA_AMF_HA_STANDBY) == - NCSCC_RC_FAILURE) { - LOG_ER("%s:%u: %s (%zu)", __FILE__, __LINE__, su->name.c_str(), - su->name.length()); - return NCSCC_RC_FAILURE; - } + if (avd_sg_su_si_mod_snd(cb, o_susi->su, SA_AMF_HA_STANDBY) == + NCSCC_RC_FAILURE) { + LOG_ER("%s:%u: %s (%zu)", __FILE__, __LINE__, su->name.c_str(), + su->name.length()); + return NCSCC_RC_FAILURE; + } - avd_sg_su_oper_list_add(cb, o_susi->su, false); - su->sg_of_su->admin_si->set_si_switch(cb, AVSV_SI_TOGGLE_STABLE); - m_AVD_CLEAR_SG_ADMIN_SI(cb, (su->sg_of_su)); - su->sg_of_su->set_fsm_state(AVD_SG_FSM_SG_REALIGN); + avd_sg_su_oper_list_add(cb, o_susi->su, false); + su->sg_of_su->admin_si->set_si_switch(cb, AVSV_SI_TOGGLE_STABLE); + m_AVD_CLEAR_SG_ADMIN_SI(cb, (su->sg_of_su)); + su->sg_of_su->set_fsm_state(AVD_SG_FSM_SG_REALIGN); + } } /* if (i_susi == AVD_SU_SI_REL_NULL) */ @@ -4688,6 +4691,7 @@ SaAisErrorT SG_NPM::si_swap(AVD_SI *si, SaInvocationT invocation) { actv_susi = si->list_of_sisu->si_next; stdby_susi = si->list_of_sisu; } + osafassert(actv_susi != nullptr); actv_su = actv_susi->su; stdby_su = stdby_susi->su; diff --git a/src/amf/amfd/sg_nway_fsm.cc b/src/amf/amfd/sg_nway_fsm.cc index d1da5ad..755e0c7 100644 --- a/src/amf/amfd/sg_nway_fsm.cc +++ b/src/amf/amfd/sg_nway_fsm.cc @@ -2184,7 +2184,7 @@ uint32_t SG_NWAY::su_fault_si_oper(AVD_CL_CB *cb, AVD_SU *su) { /* identify the quiesced assigning susi */ for (susi = si->list_of_sisu; susi && !((SA_AMF_READINESS_IN_SERVICE == - curr_susi->su->saAmfSuReadinessState) && + susi->su->saAmfSuReadinessState) && (SA_AMF_HA_QUIESCED == susi->state) && (AVD_SU_SI_STATE_MODIFY == susi->fsm)); susi = susi->si_next) diff --git a/src/amf/amfd/sgproc.cc b/src/amf/amfd/sgproc.cc index a7c1d50..ddd825d 100644 --- a/src/amf/amfd/sgproc.cc +++ b/src/amf/amfd/sgproc.cc @@ -2558,6 +2558,7 @@ static uint32_t shutdown_contained_sus(AVD_CL_CB *cb, AVD_SU *container_su, } } + osafassert(container_csi_rel != nullptr); const std::string& container_csi(container_csi_rel->csi->name); for (auto &su : container_su->su_on_node->list_of_su) { diff --git a/src/amf/amfd/su.cc b/src/amf/amfd/su.cc index d149cc4..e22a005 100644 --- a/src/amf/amfd/su.cc +++ b/src/amf/amfd/su.cc @@ -2056,6 +2056,7 @@ void su_ccb_apply_delete_hdlr(struct CcbUtilOperationData *opdata) { return; } AVD_SU *su = static_cast<AVD_SU *>(opdata->userData); + osafassert(su != nullptr); sg = su->sg_of_su; TRACE_ENTER2("'%s'", su->name.c_str()); diff --git a/src/amf/amfd/sutype.cc b/src/amf/amfd/sutype.cc index e3fe7b3..b124130 100644 --- a/src/amf/amfd/sutype.cc +++ b/src/amf/amfd/sutype.cc @@ -284,6 +284,7 @@ static void sutype_ccb_apply_cb(CcbUtilOperationData_t *opdata) { if (sut == nullptr && avd_cb->is_active() == false) { break; } + osafassert(sut != nullptr); sutype_db->erase(sut->name); sutype_delete(&sut); break; @@ -384,7 +385,7 @@ static SaAisErrorT sutype_ccb_completed_cb(CcbUtilOperationData_t *opdata) { /* check whether there exists a delete operation for * each of the SU in the su_type list in the current CCB */ - + osafassert(sut != nullptr); for (const auto &su : sut->list_of_su) { const SaNameTWrapper su_name(su->name); t_opData = ccbutil_getCcbOpDataByDN(opdata->ccbId, su_name); diff --git a/src/amf/amfd/svctype.cc b/src/amf/amfd/svctype.cc index c7e597e..090e493 100644 --- a/src/amf/amfd/svctype.cc +++ b/src/amf/amfd/svctype.cc @@ -164,6 +164,7 @@ static SaAisErrorT svctype_ccb_completed_cb(CcbUtilOperationData_t *opdata) { /* check whether there exists a delete operation for * each of the SI in the svc_type list in the current CCB */ + osafassert(svc_type != nullptr); for (const auto &si : svc_type->list_of_si) { const SaNameTWrapper si_name(si->name); t_opData = ccbutil_getCcbOpDataByDN(opdata->ccbId, si_name); diff --git a/src/amf/amfd/svctypecstypes.cc b/src/amf/amfd/svctypecstypes.cc index 381dc39..cfd7d69 100644 --- a/src/amf/amfd/svctypecstypes.cc +++ b/src/amf/amfd/svctypecstypes.cc @@ -162,6 +162,7 @@ static SaAisErrorT svctypecstypes_ccb_completed_cb( opdata->userData = nullptr; break; } + osafassert(svctypecstype != nullptr); if (svctypecstype->curr_num_csis == 0) { rc = SA_AIS_OK; opdata->userData = svctypecstype; diff --git a/src/amf/amfnd/cbq.cc b/src/amf/amfnd/cbq.cc index 6f6f15f..dff3123 100644 --- a/src/amf/amfnd/cbq.cc +++ b/src/amf/amfnd/cbq.cc @@ -476,6 +476,7 @@ uint32_t avnd_evt_ava_resp_evh(AVND_CB *cb, AVND_EVT *evt) { * this resp */ if (!csi) { AVND_COMP_CSI_REC *temp_csi = m_AVND_COMPDB_REC_CSI_GET_FIRST(*comp); + osafassert(temp_csi != nullptr); if (cbk_rec->cbk_info->param.csi_set.ha != temp_csi->si->curr_state) { avnd_comp_cbq_rec_pop_and_del(cb, comp, cbk_rec->opq_hdl, false); @@ -1214,6 +1215,7 @@ void avnd_comp_unreg_cbk_process(AVND_CB *cb, AVND_COMP *comp) { * this resp */ if (!csi) { AVND_COMP_CSI_REC *temp_csi = m_AVND_COMPDB_REC_CSI_GET_FIRST(*comp); + osafassert(temp_csi != nullptr); if (cbk->cbk_info->param.csi_set.ha != temp_csi->si->curr_state) { avnd_comp_cbq_rec_pop_and_del(cb, comp, cbk->opq_hdl, true); diff --git a/src/amf/amfnd/clc.cc b/src/amf/amfnd/clc.cc index c4067f4..4e1a844 100644 --- a/src/amf/amfnd/clc.cc +++ b/src/amf/amfnd/clc.cc @@ -1375,6 +1375,7 @@ uint32_t avnd_comp_clc_st_chng_prc(AVND_CB *cb, AVND_COMP *comp, m_NCS_DBLIST_FIND_FIRST(&comp->csi_list)); if ((m_AVND_IS_SHUTTING_DOWN(cb)) && (m_AVND_COMP_CSI_CURR_ASSIGN_STATE_IS_REMOVING(csi))) { + osafassert(csi != nullptr); TRACE_1("CSI marked Removed."); m_AVND_COMP_CSI_CURR_ASSIGN_STATE_SET( csi, AVND_COMP_CSI_ASSIGN_STATE_REMOVED); diff --git a/src/amf/amfnd/comp.cc b/src/amf/amfnd/comp.cc index 857c1dc..b520550 100644 --- a/src/amf/amfnd/comp.cc +++ b/src/amf/amfnd/comp.cc @@ -975,6 +975,7 @@ uint32_t avnd_comp_csi_assign(AVND_CB *cb, AVND_COMP *comp, curr_csi = (csi) ? csi : m_AVND_CSI_REC_FROM_COMP_DLL_NODE_GET( m_NCS_DBLIST_FIND_FIRST(&comp->csi_list)); + osafassert(curr_csi != nullptr); TRACE_ENTER2("comp:'%s'", comp->name.c_str()); LOG_IN("Assigning '%s' %s to '%s'", csiname.c_str(), @@ -1370,6 +1371,7 @@ uint32_t avnd_comp_csi_remove(AVND_CB *cb, AVND_COMP *comp, if (!curr_csi) curr_csi = m_AVND_CSI_REC_FROM_COMP_DLL_NODE_GET( m_NCS_DBLIST_FIND_FIRST(&comp->csi_list)); + osafassert(curr_csi != nullptr); /* mark the csi state removing */ m_AVND_COMP_CSI_CURR_ASSIGN_STATE_SET(curr_csi, @@ -1703,6 +1705,7 @@ uint32_t avnd_comp_csi_assign_done(AVND_CB *cb, AVND_COMP *comp, /* get the first csi-record for this comp */ curr_csi = m_AVND_CSI_REC_FROM_COMP_DLL_NODE_GET( m_NCS_DBLIST_FIND_FIRST(&comp->csi_list)); + osafassert(curr_csi != nullptr); if (all_csis_at_rank_assigned(curr_csi->si, curr_csi->rank)) { uint32_t rank = (SA_AMF_HA_ACTIVE == curr_csi->si->curr_state || @@ -2257,6 +2260,7 @@ uint32_t avnd_amf_resp_send(AVND_CB *cb, AVSV_AMF_API_TYPE type, /* Fill informations. */ avnd_msg = static_cast<AVSV_ND2ND_AVND_MSG *>( calloc(1, sizeof(AVSV_ND2ND_AVND_MSG))); + osafassert(avnd_msg != nullptr); osaf_extended_name_alloc(comp->name.c_str(), &avnd_msg->comp_name); avnd_msg->mds_ctxt = *ctxt; diff --git a/src/amf/amfnd/compdb.cc b/src/amf/amfnd/compdb.cc index cfadbe3..7824312 100644 --- a/src/amf/amfnd/compdb.cc +++ b/src/amf/amfnd/compdb.cc @@ -1621,7 +1621,7 @@ done: unsigned int avnd_comp_config_get_su(AVND_SU *su) { unsigned int rc = NCSCC_RC_FAILURE; SaAisErrorT error; - SaImmSearchHandleT searchHandle; + SaImmSearchHandleT searchHandle{}; SaImmSearchParametersT_2 searchParam; SaNameT comp_name; const SaImmAttrValuesT_2 **attributes; diff --git a/src/amf/amfnd/susm.cc b/src/amf/amfnd/susm.cc index 62e2db9..6376327 100644 --- a/src/amf/amfnd/susm.cc +++ b/src/amf/amfnd/susm.cc @@ -1010,6 +1010,7 @@ static AVND_SU_SI_REC *get_higher_ranked_si(const AVND_SU_SI_REC *si) { */ static bool all_sis_atrank_removed(const AVND_SU_SI_REC *si) { const AVND_SU_SI_REC *tmp; + osafassert(si != nullptr); /* search forwards */ for (tmp = si; tmp && (tmp->rank == si->rank); @@ -2267,6 +2268,8 @@ uint32_t avnd_su_pres_insting_compinst_hdler(AVND_CB *cb, AVND_SU *su, "Component Instantiated event in the Instantiating state:'%s' : '%s'", su->name.c_str(), compname.c_str()); + osafassert(comp != nullptr); + /* * If pi su, pick the next pi comp & trigger it's FSM with InstEv. * If the component is marked failed (=> component has reinstantiated @@ -2762,6 +2765,7 @@ uint32_t avnd_su_pres_inst_comprestart_hdler(AVND_CB *cb, AVND_SU *su, const std::string compname = comp ? comp->name : "none"; TRACE_ENTER2("Component restart event in the Instantiated state, '%s' : '%s'", su->name.c_str(), compname.c_str()); + osafassert(comp != nullptr); if (m_AVND_SU_IS_PREINSTANTIABLE(su)) { TRACE("PI SU"); for (AVND_COMP *curr_comp = m_AVND_COMP_FROM_SU_DLL_NODE_GET( @@ -2892,6 +2896,7 @@ uint32_t avnd_su_pres_terming_compinst_hdler(AVND_CB *cb, AVND_SU *su, if (m_AVND_SU_IS_PREINSTANTIABLE(su)) { bool is; + osafassert(comp != nullptr); if (m_AVND_COMP_IS_FAILED(comp)) { m_AVND_COMP_FAILED_RESET(comp); } @@ -3145,6 +3150,7 @@ uint32_t avnd_su_pres_terming_compuninst_hdler(AVND_CB *cb, AVND_SU *su, avnd_comp_clc_fsm_run(cb, comp, AVND_COMP_CLC_PRES_FSM_EV_INST); avnd_su_pres_state_set(cb, su, SA_AMF_PRESENCE_INSTANTIATING); } else { + osafassert(comp != nullptr); TRACE("Admin operation on SU"); for (curr_comp = m_AVND_COMP_FROM_SU_DLL_NODE_GET( m_NCS_DBLIST_FIND_PREV(&comp->su_dll_node)); @@ -3210,6 +3216,7 @@ uint32_t avnd_su_pres_terming_compuninst_hdler(AVND_CB *cb, AVND_SU *su, (!m_AVND_SU_IS_FAILED(su) || m_AVND_SU_IS_RESTART(su))) { TRACE("NPI SU"); /* get the only csi rec */ + osafassert(comp != nullptr); curr_csi = m_AVND_CSI_REC_FROM_COMP_DLL_NODE_GET( m_NCS_DBLIST_FIND_FIRST(&comp->csi_list)); osafassert(curr_csi); @@ -3473,6 +3480,7 @@ uint32_t avnd_su_pres_restart_compinst_hdler(AVND_CB *cb, AVND_SU *su, "ComponentInstantiated event in the Restarting state:'%s' : '%s'", su->name.c_str(), compname.c_str()); SaAmfPresenceStateT pres_init = su->pres; + osafassert(comp != nullptr); /* * If pi su, pick the next pi comp & trigger it's FSM with Inst Event. */ @@ -3516,6 +3524,7 @@ uint32_t avnd_su_pres_restart_compinst_hdler(AVND_CB *cb, AVND_SU *su, if (!m_AVND_SU_IS_PREINSTANTIABLE(su)) { TRACE("NPI SU:'%s'", su->name.c_str()); /* get the only csi rec */ + osafassert(comp != nullptr); curr_csi = m_AVND_CSI_REC_FROM_COMP_DLL_NODE_GET( m_NCS_DBLIST_FIND_FIRST(&comp->csi_list)); osafassert(curr_csi); @@ -3933,6 +3942,7 @@ uint32_t avnd_su_pres_terming_comprestart_hdler(AVND_CB *cb, AVND_SU *su, if (m_AVND_SU_IS_PREINSTANTIABLE(su)) { TRACE("PI SU"); AVND_COMP *curr_comp = nullptr; + osafassert(comp != nullptr); for (curr_comp = m_AVND_COMP_FROM_SU_DLL_NODE_GET( m_NCS_DBLIST_FIND_PREV(&comp->su_dll_node)); curr_comp; curr_comp = m_AVND_COMP_FROM_SU_DLL_NODE_GET( @@ -4059,6 +4069,7 @@ uint32_t avnd_su_pres_inst_compinst_hdler(AVND_CB *cb, AVND_SU *su, TRACE_ENTER2( "Component Instantiated event in the Instantiated state:'%s' : '%s'", su->name.c_str(), compname.c_str()); + osafassert(comp != nullptr); if (m_AVND_SU_IS_PREINSTANTIABLE(su)) { TRACE("PI SU"); -- 2.7.4 _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel