osaf/services/saf/amf/amfd/app.cc | 27 ++++++++++++---------------
osaf/services/saf/amf/amfd/apptype.cc | 13 ++++---------
2 files changed, 16 insertions(+), 24 deletions(-)
* Unnecessary header file (HFA)
* Logically dead code (DEADCODE)
* Dereference null return value (NULL_RETURNS)
* Uninitialized scalar variable (UNINIT)
* Unused pointer value (UNUSED_VALUE)
* Also remove check for NULL return value from avd_app_new() as this is no
longer required
diff --git a/osaf/services/saf/amf/amfd/app.cc
b/osaf/services/saf/amf/amfd/app.cc
--- a/osaf/services/saf/amf/amfd/app.cc
+++ b/osaf/services/saf/amf/amfd/app.cc
@@ -20,7 +20,6 @@
#include <util.h>
#include <app.h>
-#include <cluster.h>
#include <imm.h>
#include <si.h>
@@ -219,8 +218,7 @@
AVD_APP *avd_app_create(const SaNameT *dn, const SaImmAttrValuesT_2
**attributes)
{
- int rc = -1;
- AVD_APP *app;
+ AVD_APP *app = NULL;
SaAisErrorT error;
TRACE_ENTER2("'%s'", dn->value);
@@ -229,11 +227,12 @@
** If called at new active at failover, the object is found in the DB
** but needs to get configuration attributes initialized.
*/
- if (NULL == (app = avd_app_get(dn))) {
- if ((app = avd_app_new(dn)) == NULL)
- goto done;
- } else
+ app = avd_app_get(dn);
+ if (app == NULL) {
+ app = avd_app_new(dn);
+ } else {
TRACE("already created, refreshing config...");
+ }
error = immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfAppType"),
attributes, 0, &app->saAmfAppType);
osafassert(error == SA_AIS_OK);
@@ -243,14 +242,6 @@
app->saAmfApplicationAdminState = SA_AMF_ADMIN_UNLOCKED;
}
- rc = 0;
-
-done:
- if (rc != 0) {
- avd_app_delete(app);
- app = NULL;
- }
-
return app;
}
@@ -315,6 +306,8 @@
case CCBUTIL_MODIFY: {
const SaImmAttrModificationT_2 *attr_mod;
app = avd_app_get(&opdata->objectName);
+ // app should be present in app_db
+ osafassert(app);
while ((attr_mod = opdata->param.modify.attrMods[i++]) != NULL)
{
const SaImmAttrValuesT_2 *attribute =
&attr_mod->modAttr;
@@ -325,6 +318,7 @@
avd_apptype_remove_app(app);
app->saAmfAppType =
*((SaNameT*)attribute->attrValues[0]);
app->app_type =
avd_apptype_get(&app->saAmfAppType);
+ osafassert(app->app_type);
avd_apptype_add_app(app);
break;
}
@@ -335,6 +329,8 @@
}
case CCBUTIL_DELETE:
app = avd_app_get(&opdata->objectName);
+ // app should be present in app_db
+ osafassert(app);
/* by this time all the SGs and SIs under this
* app object should have been *DELETED* just
* do a sanity check here
@@ -494,6 +490,7 @@
void avd_app_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(&app_db, &patricia_params) ==
NCSCC_RC_SUCCESS);
diff --git a/osaf/services/saf/amf/amfd/apptype.cc
b/osaf/services/saf/amf/amfd/apptype.cc
--- a/osaf/services/saf/amf/amfd/apptype.cc
+++ b/osaf/services/saf/amf/amfd/apptype.cc
@@ -18,9 +18,7 @@
#include <logtrace.h>
#include <app.h>
-#include <cluster.h>
#include <imm.h>
-#include <si.h>
#include <util.h>
static NCS_PATRICIA_TREE apptype_db;
@@ -106,7 +104,6 @@
{
int i = 0;
unsigned int j;
- int rc = -1;
AVD_APP_TYPE *app_type;
const SaImmAttrValuesT_2 *attr;
@@ -131,11 +128,6 @@
app_type->sgAmfApptSGTypes[j] = *((SaNameT
*)attr->attrValues[j]);
}
- rc = 0;
-
- if (rc != 0)
- apptype_delete(&app_type);
-
return app_type;
}
@@ -159,6 +151,8 @@
break;
case CCBUTIL_DELETE:
app_type = avd_apptype_get(&opdata->objectName);
+ // app_type should be present in apptype_db
+ osafassert(app_type);
if (NULL != app_type->list_of_app) {
/* check whether there exists a delete operation for
* each of the App in the app_type list in the current
CCB
@@ -239,7 +233,7 @@
if (!is_config_valid(&dn, attributes, NULL))
goto done2;
- if ((app_type = avd_apptype_get(&dn)) == NULL ) {
+ if (avd_apptype_get(&dn) == NULL) {
if ((app_type = apptype_create(&dn, attributes)) ==
NULL)
goto done2;
@@ -292,6 +286,7 @@
void avd_apptype_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(&apptype_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