osaf/services/saf/amf/amfd/su.cc             |  14 ++++++++++++--
 osaf/services/saf/amf/amfd/sutcomptype.cc    |   4 +++-
 osaf/services/saf/amf/amfd/sutype.cc         |  12 +++++-------
 osaf/services/saf/amf/amfd/svctype.cc        |   6 +++---
 osaf/services/saf/amf/amfd/svctypecstypes.cc |   6 ++++--
 osaf/services/saf/amf/amfd/util.cc           |   2 +-
 6 files changed, 28 insertions(+), 16 deletions(-)


* Dereference null return value (NULL_RETURNS)
* Uninitialized scalar variable (UNINIT)
* Unused pointer value (UNUSED_VALUE)
* Unnecessary header file (HFA)

diff --git a/osaf/services/saf/amf/amfd/su.cc b/osaf/services/saf/amf/amfd/su.cc
--- a/osaf/services/saf/amf/amfd/su.cc
+++ b/osaf/services/saf/amf/amfd/su.cc
@@ -384,7 +384,7 @@
                }
 
                ng_of_sg = avd_ng_get(&saAmfSGSuHostNodeGroup);
-               if (ng_of_su == NULL) {
+               if (ng_of_sg == NULL) {
                        report_ccb_validation_error(opdata, "Invalid 
saAmfSGSuHostNodeGroup '%s' for '%s'",
                                saAmfSGSuHostNodeGroup.value, dn->value);
                        return 0;
@@ -531,6 +531,7 @@
        /* If node is configured in SU we are done */
        if (strstr((char *)su->saAmfSUHostNodeOrNodeGroup.value, "safAmfNode=") 
!= NULL) {
                node = avd_node_get(&su->saAmfSUHostNodeOrNodeGroup);
+               osafassert(node);
                goto done;
        }
 
@@ -569,6 +570,7 @@
 
        /* All nodes already have an SU mapped for the SG. Return a node in the 
node group. */
        node = avd_node_get(&ng->saAmfNGNodeList[0]);
+       osafassert(node);
 done:
        memcpy(&su->saAmfSUHostedByNode, &node->name, sizeof(SaNameT));
        TRACE_LEAVE2("hosted by %s", node->name.value);
@@ -620,6 +622,7 @@
                } else {
                        /* Already mapped, setup the node link */
                        su->su_on_node = avd_node_get(&su->saAmfSUHostedByNode);
+                       osafassert(su->su_on_node);
                }
 
                avd_node_add_su(su);
@@ -1244,6 +1247,7 @@
 
                if (!strcmp(attr_mod->modAttr.attrName, "saAmfSUFailover")) {
                        AVD_SU *su = avd_su_get(&opdata->objectName);
+                       osafassert(su);
                        uint32_t su_failover = *((SaUint32T 
*)attr_mod->modAttr.attrValues[0]);
 
                        /* If SG is not in stable state and amfnd is already 
busy in the handling of some fault,
@@ -1264,6 +1268,7 @@
                        }
                } else if (!strcmp(attr_mod->modAttr.attrName, 
"saAmfSUMaintenanceCampaign")) {
                        AVD_SU *su = avd_su_get(&opdata->objectName);
+                       osafassert(su);
 
                        if (su->saAmfSUMaintenanceCampaign.length > 0) {
                                report_ccb_validation_error(opdata, 
"saAmfSUMaintenanceCampaign already set for %s",
@@ -1275,6 +1280,7 @@
                        AVD_SU *su;
                        SaNameT sutype_name = *(SaNameT*) 
attr_mod->modAttr.attrValues[0];
                        su = avd_su_get(&opdata->objectName);
+                       osafassert(su);
                        if(SA_AMF_ADMIN_LOCKED_INSTANTIATION != 
su->saAmfSUAdminState) {
                                report_ccb_validation_error(opdata, "SU is not 
in locked-inst, present state '%d'",
                                                su->saAmfSUAdminState);
@@ -1429,6 +1435,8 @@
        TRACE_ENTER2("CCB ID %llu, '%s'", opdata->ccbId, 
opdata->objectName.value);
 
        su = avd_su_get(&opdata->objectName);
+       // su should not be null
+       osafassert(su);
 
        while ((attr_mod = opdata->param.modify.attrMods[i++]) != NULL) {
                /* Attribute value removed */
@@ -1467,6 +1475,7 @@
                        SaNameT sutype_name = *(SaNameT*) 
attr_mod->modAttr.attrValues[0];
                        TRACE("Modified saAmfSUType from '%s' to '%s'", 
su->saAmfSUType.value, sutype_name.value);
                        sut = avd_sutype_get(&sutype_name);
+                       osafassert(sut);
                        avd_sutype_remove_su(su);
                        su->saAmfSUType = sutype_name;
                        su->su_type = sut;
@@ -1604,7 +1613,8 @@
 void avd_su_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(&su_db, &patricia_params) == 
NCSCC_RC_SUCCESS);
 
diff --git a/osaf/services/saf/amf/amfd/sutcomptype.cc 
b/osaf/services/saf/amf/amfd/sutcomptype.cc
--- a/osaf/services/saf/amf/amfd/sutcomptype.cc
+++ b/osaf/services/saf/amf/amfd/sutcomptype.cc
@@ -107,7 +107,7 @@
        while (immutil_saImmOmSearchNext_2(searchHandle, &dn, 
(SaImmAttrValuesT_2 ***)&attributes) == SA_AIS_OK) {
                if (!is_config_valid(&dn, attributes, NULL))
                        goto done2;
-               if ((sutcomptype = avd_sutcomptype_get(&dn)) == NULL) {
+               if (avd_sutcomptype_get(&dn) == NULL) {
                        if ((sutcomptype = sutcomptype_create(&dn, attributes)) 
== NULL) {
                                error = SA_AIS_ERR_FAILED_OPERATION;
                                goto done2;
@@ -143,6 +143,7 @@
                break;
        case CCBUTIL_DELETE:
                sutcomptype = avd_sutcomptype_get(&opdata->objectName);
+               osafassert(sutcomptype);
                if (sutcomptype->curr_num_components == 0) {
                        rc = SA_AIS_OK;
                        opdata->userData = sutcomptype; /* Save for later use 
in apply */
@@ -180,6 +181,7 @@
 void avd_sutcomptype_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(&sutcomptype_db, &patricia_params) == 
NCSCC_RC_SUCCESS);
diff --git a/osaf/services/saf/amf/amfd/sutype.cc 
b/osaf/services/saf/amf/amfd/sutype.cc
--- a/osaf/services/saf/amf/amfd/sutype.cc
+++ b/osaf/services/saf/amf/amfd/sutype.cc
@@ -23,7 +23,6 @@
 #include <util.h>
 #include <sutype.h>
 #include <imm.h>
-#include <cluster.h>
 #include <ntf.h>
 #include <proc.h>
 
@@ -74,7 +73,6 @@
 {
        const SaImmAttrValuesT_2 *attr;
        struct avd_sutype *sutype;
-       int rc = 0;
        unsigned i = 0;
        SaAisErrorT error;
 
@@ -109,11 +107,6 @@
                TRACE("%s", sutype->saAmfSutProvidesSvcTypes[i].value);
        }
 
-       rc = 0;
-
-       if (rc != 0)
-               sutype_delete(&sutype);
-
        return sutype;
 }
 
@@ -243,6 +236,7 @@
 
        TRACE_ENTER2("CCB ID %llu, '%s'", opdata->ccbId, 
opdata->objectName.value);
        avd_sutype *sut = avd_sutype_get(&opdata->objectName);
+       osafassert(sut);
 
        while ((attr_mod = opdata->param.modify.attrMods[i++]) != NULL) {
                if (!strcmp(attr_mod->modAttr.attrName, 
"saAmfSutDefSUFailover")) {
@@ -286,6 +280,7 @@
                break;
        case CCBUTIL_DELETE:
                sut = avd_sutype_get(&opdata->objectName);
+               osafassert(sut);
                sutype_db_delete(sut);
                sutype_delete(&sut);
                break;
@@ -308,6 +303,7 @@
        const SaImmAttrModificationT_2 *attr_mod;
        int i = 0;
        avd_sutype *sut = avd_sutype_get(&opdata->objectName);
+       osafassert(sut);
 
        TRACE_ENTER2("CCB ID %llu, '%s'", opdata->ccbId, 
opdata->objectName.value);
        while ((attr_mod = opdata->param.modify.attrMods[i++]) != NULL) {
@@ -374,6 +370,7 @@
                break;
        case CCBUTIL_DELETE:
                sut = avd_sutype_get(&opdata->objectName);
+               osafassert(sut);
                if (NULL != sut->list_of_su) {
                        /* check whether there exists a delete operation for 
                         * each of the SU in the su_type list in the current 
CCB 
@@ -441,6 +438,7 @@
 void avd_sutype_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(&sutype_db, &patricia_params) == 
NCSCC_RC_SUCCESS);
diff --git a/osaf/services/saf/amf/amfd/svctype.cc 
b/osaf/services/saf/amf/amfd/svctype.cc
--- a/osaf/services/saf/amf/amfd/svctype.cc
+++ b/osaf/services/saf/amf/amfd/svctype.cc
@@ -22,10 +22,8 @@
 #include <saImmOm.h>
 #include <immutil.h>
 #include <app.h>
-#include <cluster.h>
 #include <imm.h>
 #include <susi.h>
-#include <csi.h>
 #include <proc.h>
 
 static NCS_PATRICIA_TREE svctype_db;
@@ -140,6 +138,7 @@
                break;
        case CCBUTIL_DELETE:
                svc_type = avd_svctype_get(&opdata->objectName);
+               osafassert(svc_type);
                if (NULL != svc_type->list_of_si) {
                        /* check whether there exists a delete operation for
                         * each of the SI in the svc_type list in the current 
CCB
@@ -230,7 +229,7 @@
                if (!is_config_valid(&dn, attributes, NULL))
                        goto done2;
 
-               if ((svc_type = avd_svctype_get(&dn))==NULL) {
+               if (avd_svctype_get(&dn) == NULL) {
                        if ((svc_type = svctype_create(&dn, attributes)) == 
NULL)
                                goto done2;
 
@@ -289,6 +288,7 @@
 void avd_svctype_constructor(void)
 {
        NCS_PATRICIA_PARAMS patricia_params;
+       memset(&patricia_params, 0, sizeof(NCS_PATRICIA_PARAMS));
 
        patricia_params.key_size = sizeof(SaNameT);
 
diff --git a/osaf/services/saf/amf/amfd/svctypecstypes.cc 
b/osaf/services/saf/amf/amfd/svctypecstypes.cc
--- a/osaf/services/saf/amf/amfd/svctypecstypes.cc
+++ b/osaf/services/saf/amf/amfd/svctypecstypes.cc
@@ -100,7 +100,7 @@
 
        while (immutil_saImmOmSearchNext_2(searchHandle, &dn, 
(SaImmAttrValuesT_2 ***)&attributes) == SA_AIS_OK) {
 
-               if ((svctypecstype = avd_svctypecstypes_get(&dn))== NULL) {
+               if (avd_svctypecstypes_get(&dn) == NULL) {
                        if ((svctypecstype = svctypecstypes_create(&dn, 
attributes)) == NULL) {
                                error = SA_AIS_ERR_FAILED_OPERATION;
                                goto done2;
@@ -139,6 +139,7 @@
                break;
        case CCBUTIL_DELETE:
                svctypecstype = avd_svctypecstypes_get(&opdata->objectName);
+               osafassert(svctypecstype);
                if (svctypecstype->curr_num_csis == 0) {
                        rc = SA_AIS_OK;
                        opdata->userData = svctypecstype;
@@ -182,7 +183,8 @@
 void avd_svctypecstypes_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(&svctypecstypes_db, &patricia_params) 
== NCSCC_RC_SUCCESS);
        avd_class_impl_set(const_cast<SaImmClassNameT>("SaAmfSvcTypeCSTypes"), 
NULL, NULL, svctypecstypes_ccb_completed_cb, svctypecstypes_ccb_apply_cb);
diff --git a/osaf/services/saf/amf/amfd/util.cc 
b/osaf/services/saf/amf/amfd/util.cc
--- a/osaf/services/saf/amf/amfd/util.cc
+++ b/osaf/services/saf/amf/amfd/util.cc
@@ -1582,7 +1582,7 @@
 bool object_exist_in_imm(const SaNameT *dn)
 {
        bool rc = false;
-       SaImmAccessorHandleT accessorHandle;
+       SaImmAccessorHandleT accessorHandle = 0;
        const SaImmAttrValuesT_2 **attributes;
        SaImmAttrNameT attributeNames[] = 
{const_cast<SaImmAttrNameT>("SaImmAttrClassName"), NULL};
 

------------------------------------------------------------------------------
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

Reply via email to