Hi Dat,
Ack with minor comment.
Remove file mbcsv_mds.c due to not contain any fixes.

B.R/Thang

-----Original Message-----
From: Dat Tran Quoc Phan <dat.tq.p...@dektech.com.au> 
Sent: Tuesday, March 7, 2023 2:30 PM
To: Thang Duc Nguyen <thang.d.ngu...@dektech.com.au>; Thien Minh Huynh 
<thien.m.hu...@dektech.com.au>
Cc: opensaf-devel@lists.sourceforge.net; Dat Tran Quoc Phan 
<dat.tq.p...@dektech.com.au>
Subject: [PATCH 1/1] amf: Fix errors reported by valgrind [#3331]

Valgrind reports errors while run amf tests. This ticket fixes errors from the 
report.
---
 src/amf/amfd/csi.cc     | 8 ++++----
 src/amf/amfnd/cbq.cc    | 4 ++--
 src/amf/amfnd/compdb.cc | 2 +-
 src/mbc/mbcsv_mds.c     | 1 -
 src/mds/mds_dt_common.c | 1 +
 src/mds/mds_svc_op.c    | 7 +++----
 6 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/src/amf/amfd/csi.cc b/src/amf/amfd/csi.cc index 
aa4fab8ea..93b8fa03b 100644
--- a/src/amf/amfd/csi.cc
+++ b/src/amf/amfd/csi.cc
@@ -1469,11 +1469,11 @@ void avd_csi_remove_csiattr(AVD_CSI *csi, AVD_CSI_ATTR 
*attr) {
       csi->list_attributes = i_attr->attr_next;
     } else {
       p_attr->attr_next = i_attr->attr_next;
-      osaf_extended_name_free(&attr->name_value.name);
-      osaf_extended_name_free(&attr->name_value.value);
-      delete[] attr->name_value.string_ptr;
-      delete attr;
     }
+    osaf_extended_name_free(&attr->name_value.name);
+    osaf_extended_name_free(&attr->name_value.value);
+    delete[] attr->name_value.string_ptr;
+    delete attr;
   }
 
   osafassert(csi->num_attributes > 0);
diff --git a/src/amf/amfnd/cbq.cc b/src/amf/amfnd/cbq.cc index 
72465eb5d..d2de58f28 100644
--- a/src/amf/amfnd/cbq.cc
+++ b/src/amf/amfnd/cbq.cc
@@ -666,6 +666,8 @@ uint32_t avnd_evt_tmr_cbk_resp_evh(AVND_CB *cb, AVND_EVT 
*evt) {
                                AVND_COMP_CLC_PRES_FSM_EV_CLEANUP_FAIL);
   } else if (AVSV_AMF_COMP_TERM == rec->cbk_info->type) {
     m_AVND_COMP_TERM_FAIL_SET(rec->comp);
+    rc =
+        avnd_comp_clc_fsm_run(cb, rec->comp, 
+ AVND_COMP_CLC_PRES_FSM_EV_CLEANUP);
     if (rec->comp->term_cbq_inv_value != 0) {
       AVND_COMP_CBK *cbk_rec;
       /* Since, the cbq timer has expired and no down event @@ -678,8 +680,6 
@@ uint32_t avnd_evt_tmr_cbk_resp_evh(AVND_CB *cb, AVND_EVT *evt) {
         avnd_comp_cbq_rec_pop_and_del(cb, rec->comp, cbk_rec->opq_hdl, false);
       }
     }
-    rc =
-        avnd_comp_clc_fsm_run(cb, rec->comp, 
AVND_COMP_CLC_PRES_FSM_EV_CLEANUP);
   } else {
     switch (rec->cbk_info->type) {
       case AVSV_AMF_HC:
diff --git a/src/amf/amfnd/compdb.cc b/src/amf/amfnd/compdb.cc index 
7824312d4..b104d5649 100644
--- a/src/amf/amfnd/compdb.cc
+++ b/src/amf/amfnd/compdb.cc
@@ -1419,7 +1419,7 @@ static int comp_init(AVND_COMP *comp, const 
SaImmAttrValuesT_2 **attributes) {
   /* Remove any previous environment variables */
   if (comp->saAmfCompCmdEnv != nullptr) {
     env_cntr = 0;
-    while ((env = comp->saAmfCompCmdEnv[env_cntr++]) != nullptr) delete env;
+    while ((env = comp->saAmfCompCmdEnv[env_cntr++]) != nullptr) 
+ delete[] env;
     delete[] comp->saAmfCompCmdEnv;
     comp->saAmfCompCmdEnv = nullptr;
   }
diff --git a/src/mbc/mbcsv_mds.c b/src/mbc/mbcsv_mds.c index 
822fa2287..ff071ce09 100644
--- a/src/mbc/mbcsv_mds.c
+++ b/src/mbc/mbcsv_mds.c
@@ -686,7 +686,6 @@ uint32_t mbcsv_mds_enc(MDS_CLIENT_HDL yr_svc_hdl, 
NCSCONTEXT msg,
                        TRACE_LEAVE2("allocating uba failed");
                        return NCSCC_RC_FAILURE;
                }
-
                ncs_encode_8bit(
                    &data, mm->info.peer_msg.info.client_msg.type.evt_type);
                ncs_encode_8bit(&data,
diff --git a/src/mds/mds_dt_common.c b/src/mds/mds_dt_common.c index 
85784e4b6..67b70a42c 100644
--- a/src/mds/mds_dt_common.c
+++ b/src/mds/mds_dt_common.c
@@ -575,6 +575,7 @@ uint32_t mdtm_process_recv_message_common(uint8_t flag, 
uint8_t *buffer,
                mds_mcm_ll_data_rcv(&reassem_queue->recv);
 
                /* Free Memory allocated to this structure */
+               mdtm_free_reassem_msg_mem(&reassem_queue->recv.msg);
                m_MMGR_FREE_REASSEM_QUEUE(reassem_queue);
 
                return NCSCC_RC_SUCCESS;
diff --git a/src/mds/mds_svc_op.c b/src/mds/mds_svc_op.c index 
549f158b9..4599c0c01 100644
--- a/src/mds/mds_svc_op.c
+++ b/src/mds/mds_svc_op.c
@@ -368,13 +368,12 @@ uint32_t mds_svc_op_uninstall(const NCSMDS_INFO *info) {
                                          "Node failed to unsubscribe");
                }
        }
-
-       mds_svc_tbl_del((MDS_PWE_HDL)info->i_mds_hdl, info->i_svc_id,
-                       info->info.svc_uninstall.i_msg_free_cb);
-
        MDS_SVC_LOG_INFO(UNINSTALL_TAG, info, "Uninstall successful with"
                                              " svc_pvt_ver = %d",
                         svc_cb->svc_sub_part_ver);
+
+       mds_svc_tbl_del((MDS_PWE_HDL)info->i_mds_hdl, info->i_svc_id,
+                       info->info.svc_uninstall.i_msg_free_cb);
        m_MDS_LEAVE();
        return NCSCC_RC_SUCCESS;
 }
--
2.17.1



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

Reply via email to