osaf/services/saf/amf/amfd/si.cc | 24 ++++++++++++------------
osaf/services/saf/amf/amfd/si_dep.cc | 11 ++++++++---
osaf/services/saf/amf/amfd/siass.cc | 4 ++--
osaf/services/saf/amf/amfd/sirankedsu.cc | 15 ++++++++-------
4 files changed, 30 insertions(+), 24 deletions(-)
* Unnecessary header file (HFA)
* Dereference after null check (FORWARD_NULL)
* Dereference null return value (NULL_RETURNS)
* Logically dead code (DEADCODE)
* Big parameter passed by value (PASS_BY_VALUE)
* Unchecked return value (CHECKED_RETURN)
* Side effect in assertion (ASSERT_SIDE_EFFECT)
* Unused pointer value (UNUSED_VALUE)
diff --git a/osaf/services/saf/amf/amfd/si.cc b/osaf/services/saf/amf/amfd/si.cc
--- a/osaf/services/saf/amf/amfd/si.cc
+++ b/osaf/services/saf/amf/amfd/si.cc
@@ -25,7 +25,6 @@
#include <imm.h>
#include <csi.h>
#include <proc.h>
-#include <si_dep.h>
static NCS_PATRICIA_TREE si_db;
static void avd_si_add_csi_db(struct avd_csi_tag* csi);
@@ -264,7 +263,7 @@
if (prev == NULL)
si->rankedsu_list_head = NULL;
- else
+ else if (tmp != NULL)
prev->next = tmp->next;
delete tmp;
@@ -451,14 +450,20 @@
avsv_sanamet_init(&si->name, &dn, "safApp");
si->app = avd_app_get(&dn);
+ // si->app should not be null
+ osafassert(si->app);
avd_si_db_add(si);
si->svc_type = avd_svctype_get(&si->saAmfSvcType);
+ // si->svc_type should not be null
+ osafassert(si->svc_type);
- if (si->saAmfSIProtectedbySG.length > 0)
+ if (si->saAmfSIProtectedbySG.length > 0) {
si->sg_of_si = avd_sg_get(&si->saAmfSIProtectedbySG);
-
+ osafassert(si->sg_of_si);
+ }
+
avd_svctype_add_si(si);
avd_app_add_si(si->app, si);
avd_sg_add_si(si->sg_of_si, si);
@@ -539,7 +544,6 @@
static AVD_SI *si_create(SaNameT *si_name, const SaImmAttrValuesT_2
**attributes)
{
unsigned int i;
- int rc = -1;
AVD_SI *si;
AVD_SU_SI_REL *sisu;
AVD_COMP_CSI_REL *compcsi, *temp;
@@ -634,14 +638,7 @@
si->saAmfSIAdminState = SA_AMF_ADMIN_UNLOCKED;
}
- rc = 0;
-
done:
- if (rc != 0) {
- avd_si_delete(si);
- si = NULL;
- }
-
return si;
}
@@ -784,6 +781,7 @@
TRACE_ENTER2("%s op=%llu", objectName->value, operationId);
si = avd_si_get(objectName);
+ osafassert(si);
if ((operationId != SA_AMF_ADMIN_SI_SWAP) && (si->sg_of_si->sg_ncs_spec
== SA_TRUE)) {
report_admin_op_error(immOiHandle, invocation,
SA_AIS_ERR_NOT_SUPPORTED, NULL,
@@ -965,6 +963,7 @@
break;
case CCBUTIL_DELETE:
si = avd_si_get(&opdata->objectName);
+ osafassert(si);
if (NULL != si->list_of_sisu) {
report_ccb_validation_error(opdata, "SaAmfSI is in use
'%s'", si->name.value);
goto done;
@@ -1352,6 +1351,7 @@
void avd_si_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(&si_db, &patricia_params) ==
NCSCC_RC_SUCCESS);
diff --git a/osaf/services/saf/amf/amfd/si_dep.cc
b/osaf/services/saf/amf/amfd/si_dep.cc
--- a/osaf/services/saf/amf/amfd/si_dep.cc
+++ b/osaf/services/saf/amf/amfd/si_dep.cc
@@ -1423,8 +1423,10 @@
}
/* Add to dependent's sponsors list */
- osafassert(spons_si = avd_si_get(&indx.si_name_prim));
- osafassert(dep_si = avd_si_get(&indx.si_name_sec));
+ spons_si = avd_si_get(&indx.si_name_prim);
+ osafassert(spons_si);
+ dep_si = avd_si_get(&indx.si_name_sec);
+ osafassert(dep_si);
avd_si_dep_spons_list_add(dep_si, spons_si, sidep);
if (avd_cb->avail_state_avd == SA_AMF_HA_ACTIVE) {
@@ -1536,12 +1538,14 @@
switch (opdata->operationType) {
case CCBUTIL_CREATE:
sidep = sidep_new(&opdata->objectName,
opdata->param.create.attrValues);
+ osafassert(sidep);
break;
case CCBUTIL_DELETE:
avd_sidep_indx_init(&opdata->objectName, &indx);
sidep = avd_sidep_find(avd_cb, &indx, true);
- osafassert(dep_si = avd_si_get(&indx.si_name_sec));
+ dep_si = avd_si_get(&indx.si_name_sec);
+ osafassert(dep_si);
/* If SI is in tolerance timer running state because of this
* SI-SI dep cfg, then stop the tolerance timer.
*/
@@ -1564,6 +1568,7 @@
case CCBUTIL_MODIFY:
avd_sidep_indx_init(&opdata->objectName, &indx);
sidep = avd_sidep_find(avd_cb, &indx, true);
+ osafassert(sidep);
while ((attr_mod = opdata->param.modify.attrMods[i++]) != NULL)
{
if (!strcmp(attr_mod->modAttr.attrName,
"saAmfToleranceTime")) {
TRACE("saAmfToleranceTime modified from '%llu'
to '%llu'", sidep->saAmfToleranceTime,
diff --git a/osaf/services/saf/amf/amfd/siass.cc
b/osaf/services/saf/amf/amfd/siass.cc
--- a/osaf/services/saf/amf/amfd/siass.cc
+++ b/osaf/services/saf/amf/amfd/siass.cc
@@ -349,7 +349,7 @@
*
**************************************************************************/
-AVD_SU_SI_REL *avd_susi_find_next(AVD_CL_CB *cb, SaNameT su_name, SaNameT
si_name)
+AVD_SU_SI_REL *avd_susi_find_next(AVD_CL_CB *cb, const SaNameT& su_name, const
SaNameT& si_name)
{
AVD_SU *su;
AVD_SU_SI_REL *su_si = NULL;
@@ -636,7 +636,7 @@
old_fsm_state = susi->fsm;
susi->fsm = AVD_SU_SI_STATE_UNASGN;
- avd_snd_susi_msg(avd_cb, susi->su, susi, AVSV_SUSI_ACT_DEL, false,
NULL);
+ rc = avd_snd_susi_msg(avd_cb, susi->su, susi, AVSV_SUSI_ACT_DEL, false,
NULL);
if (NCSCC_RC_SUCCESS != rc) {
LOG_NO("susi del msg snd failed %s:%u: SU:%s SI:%s",
__FILE__,__LINE__,
susi->su->name.value,susi->si->name.value);
diff --git a/osaf/services/saf/amf/amfd/sirankedsu.cc
b/osaf/services/saf/amf/amfd/sirankedsu.cc
--- a/osaf/services/saf/amf/amfd/sirankedsu.cc
+++ b/osaf/services/saf/amf/amfd/sirankedsu.cc
@@ -32,7 +32,6 @@
#include <susi.h>
#include <immutil.h>
#include <imm.h>
-#include <csi.h>
#include <logtrace.h>
static NCS_PATRICIA_TREE sirankedsu_db;
@@ -46,7 +45,8 @@
/* Find the si name. */
avd_si = avd_si_get(&(sirankedsu->indx.si_name));
- avd_si_add_rankedsu(avd_si, &sirankedsu->su_name,
sirankedsu->indx.su_rank);
+ osafassert(avd_si);
+ avd_si_add_rankedsu(avd_si, &sirankedsu->su_name,
sirankedsu->indx.su_rank);
/* Add sus_per_si_rank to si */
sirankedsu->sus_per_si_rank_on_si = avd_si;
@@ -71,7 +71,7 @@
*
**************************************************************************/
-static AVD_SUS_PER_SI_RANK *avd_sirankedsu_create(AVD_CL_CB *cb,
AVD_SUS_PER_SI_RANK_INDX indx)
+static AVD_SUS_PER_SI_RANK *avd_sirankedsu_create(AVD_CL_CB *cb, const
AVD_SUS_PER_SI_RANK_INDX& indx)
{
AVD_SUS_PER_SI_RANK *ranked_su_per_si;
@@ -107,7 +107,7 @@
*
**************************************************************************/
-static AVD_SUS_PER_SI_RANK *avd_sirankedsu_find(AVD_CL_CB *cb,
AVD_SUS_PER_SI_RANK_INDX indx)
+static AVD_SUS_PER_SI_RANK *avd_sirankedsu_find(AVD_CL_CB *cb, const
AVD_SUS_PER_SI_RANK_INDX& indx)
{
AVD_SUS_PER_SI_RANK *ranked_su_per_si = NULL;
AVD_SUS_PER_SI_RANK_INDX rank_indx;
@@ -138,7 +138,7 @@
*
**************************************************************************/
-AVD_SUS_PER_SI_RANK *avd_sirankedsu_getnext(AVD_CL_CB *cb,
AVD_SUS_PER_SI_RANK_INDX indx)
+AVD_SUS_PER_SI_RANK *avd_sirankedsu_getnext(AVD_CL_CB *cb, const
AVD_SUS_PER_SI_RANK_INDX& indx)
{
AVD_SUS_PER_SI_RANK *ranked_su_per_si = NULL;
AVD_SUS_PER_SI_RANK_INDX rank_indx;
@@ -174,7 +174,7 @@
**************************************************************************/
AVD_SUS_PER_SI_RANK *avd_sirankedsu_getnext_valid(AVD_CL_CB *cb,
- AVD_SUS_PER_SI_RANK_INDX indx, AVD_SU **o_su)
+ const AVD_SUS_PER_SI_RANK_INDX& indx, AVD_SU **o_su)
{
AVD_SUS_PER_SI_RANK *ranked_su_per_si = NULL;
AVD_SUS_PER_SI_RANK_INDX rank_indx;
@@ -564,7 +564,7 @@
if (!is_config_valid(&dn, attributes, NULL))
goto done2;
- if ((avd_sirankedsu = avd_sirankedsu_find(avd_cb, indx)) ==
NULL) {
+ if (avd_sirankedsu_find(avd_cb, indx) == NULL) {
if ((avd_sirankedsu =
avd_sirankedsu_ccb_apply_create_hdlr(&dn, attributes)) == NULL)
goto done2;
@@ -584,6 +584,7 @@
void avd_sirankedsu_constructor(void)
{
NCS_PATRICIA_PARAMS patricia_params;
+ memset(&patricia_params, 0, sizeof(NCS_PATRICIA_PARAMS));
patricia_params.key_size = sizeof(AVD_SUS_PER_SI_RANK_INDX);
osafassert(ncs_patricia_tree_init(&sirankedsu_db, &patricia_params) ==
NCSCC_RC_SUCCESS);
------------------------------------------------------------------------------
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