Hi Gary,

ack from me (code review only)

Thanks

Minh

On 3/9/19 12:12 pm, Gary Lee wrote:
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");


_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to