osaf/services/saf/amf/amfnd/clc.cc |  11 ++++-------
 osaf/services/saf/amf/amfnd/clm.cc |  11 ++++++-----
 2 files changed, 10 insertions(+), 12 deletions(-)


* Unnecessary header file (HFA)
* Unchecked return value (CHECKED_RETURN)
* Uninitialized scalar variable (UNINIT)
* Out-of-bounds read (OVERRUN_STATIC)
* Side effect in assertion (ASSERT_SIDE_EFFECT)
* Logically dead code (DEADCODE)

diff --git a/osaf/services/saf/amf/amfnd/clc.cc 
b/osaf/services/saf/amf/amfnd/clc.cc
--- a/osaf/services/saf/amf/amfnd/clc.cc
+++ b/osaf/services/saf/amf/amfnd/clc.cc
@@ -275,7 +275,7 @@
 static void log_failed_exec(NCS_OS_PROC_EXEC_STATUS_INFO *exec_stat,
        AVND_COMP *comp, AVND_COMP_CLC_CMD_TYPE exec_cmd)
 {
-       osafassert(exec_cmd <= AVND_COMP_CLC_CMD_TYPE_MAX);
+       osafassert(exec_cmd < AVND_COMP_CLC_CMD_TYPE_MAX);
 
        LOG_NO("Reason:'%s'", str_exec_status(exec_stat->value));
 
@@ -2033,7 +2033,8 @@
                        while ((csi = 
m_AVND_CSI_REC_FROM_COMP_DLL_NODE_GET(m_NCS_DBLIST_FIND_FIRST(&comp->csi_list)))
 != NULL) {
                                m_AVND_COMP_CSI_CURR_ASSIGN_STATE_SET(csi, 
AVND_COMP_CSI_ASSIGN_STATE_REMOVED);
                                rc = avnd_comp_csi_remove_done(cb, comp, csi);
-                               osafassert(++csis_removed < 1000);
+                               ++csis_removed;
+                               osafassert(csis_removed < 1000);
                        }
                }
 
@@ -2496,7 +2497,6 @@
        char env_var_name[] = "SA_AMF_COMPONENT_NAME";
        char env_var_nodeid[] = "NCS_ENV_NODE_ID";
        char env_var_comp_err[] = "OSAF_COMPONENT_ERROR_SOURCE";
-       char *env_attr_val = 0;
        AVND_CLC_EVT *clc_evt;
        AVND_EVT *evt = 0;
        AVND_COMP_CLC_INFO *clc_info = &comp->clc_info;
@@ -2549,6 +2549,7 @@
        /* Allocate environment variable set */
        env_set_nmemb = comp->numOfCompCmdEnv + 3;
        env_set = static_cast<NCS_OS_ENVIRON_SET_NODE*>(calloc(env_set_nmemb, 
sizeof(NCS_OS_ENVIRON_SET_NODE)));
+       osafassert(env_set);
        memset(&cmd_info, 0, sizeof(NCS_OS_PROC_EXECUTE_TIMED_INFO));
        memset(&arg, 0, sizeof(NCS_OS_ENVIRON_ARGS));
 
@@ -2717,10 +2718,6 @@
        /* free the event */
        if (evt)
                avnd_evt_destroy(evt);
-       if (env_attr_val) {
-               /* Free the Memory allocated for CLC command environment Sets */
-               delete env_attr_val;
-       }
 
        TRACE_LEAVE2("%u", rc);
        return rc;
diff --git a/osaf/services/saf/amf/amfnd/clm.cc 
b/osaf/services/saf/amf/amfnd/clm.cc
--- a/osaf/services/saf/amf/amfnd/clm.cc
+++ b/osaf/services/saf/amf/amfnd/clm.cc
@@ -35,8 +35,6 @@
 #include <logtrace.h>
 #include <immutil.h>
 #include "avnd.h"
-#include "mds_pvt.h"
-#include "nid_api.h"
 
 static void clm_node_left(SaClmNodeIdT node_id)
 {
@@ -57,7 +55,10 @@
                comp = (AVND_COMP *)ncs_patricia_tree_getnext(&avnd_cb->compdb, 
(uint8_t *)0);
                while( comp != NULL ) {
                        if(comp->su->is_ncs != true ) {
-                               avnd_comp_clc_fsm_run(avnd_cb, comp, 
AVND_COMP_CLC_PRES_FSM_EV_TERM);
+                               rc = avnd_comp_clc_fsm_run(avnd_cb, comp, 
AVND_COMP_CLC_PRES_FSM_EV_TERM);
+                               if (rc != NCSCC_RC_SUCCESS) {
+                                       LOG_ER("%s: '%s' termination failed", 
__FUNCTION__, comp->name.value);
+                               }
                        }
                        comp = (AVND_COMP 
*)ncs_patricia_tree_getnext(&avnd_cb->compdb,(uint8_t *)&comp->name);
                }
@@ -107,12 +108,12 @@
 static void clm_to_amf_node(void)
 {
        SaAisErrorT error;
-       SaImmSearchHandleT searchHandle;
+       SaImmSearchHandleT searchHandle = 0;
        SaNameT amfdn, clmdn;
        SaImmSearchParametersT_2 searchParam;
        const SaImmAttrValuesT_2 **attributes;
        const char *className = "SaAmfNode";
-       SaImmHandleT immOmHandle;
+       SaImmHandleT immOmHandle = 0;
        SaVersionT immVersion = { 'A', 2, 1 };
 
        TRACE_ENTER();

------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to