osaf/libs/agents/saf/smfa/smfa_utils.c | 4 +++-
osaf/libs/common/smfsv/smfsv_evt.c | 6 +++---
osaf/services/saf/smfsv/smfd/SmfCallback.cc | 1 -
osaf/services/saf/smfsv/smfd/SmfCampState.cc | 1 -
osaf/services/saf/smfsv/smfd/SmfCampaign.cc | 1 -
osaf/services/saf/smfsv/smfd/SmfCampaignXmlParser.cc | 6 ++++--
osaf/services/saf/smfsv/smfd/SmfProcedureThread.cc | 3 ++-
osaf/services/saf/smfsv/smfd/SmfStepState.cc | 3 ---
osaf/services/saf/smfsv/smfd/SmfStepTypes.cc | 1 -
osaf/services/saf/smfsv/smfd/SmfUpgradeMethod.cc | 1 -
osaf/services/saf/smfsv/smfd/smfd_amf.c | 1 -
osaf/services/saf/smfsv/smfd/smfd_campaign_oi.cc | 3 ---
osaf/services/saf/smfsv/smfd/smfd_evt.c | 7 ++++---
osaf/services/saf/smfsv/smfd/smfd_main.c | 3 ++-
osaf/services/saf/smfsv/smfd/smfd_mds.c | 2 +-
osaf/services/saf/smfsv/smfd/smfd_smfnd.c | 8 ++++----
osaf/services/saf/smfsv/smfnd/Makefile.am | 3 +--
osaf/services/saf/smfsv/smfnd/smfnd_evt.c | 1 -
osaf/services/saf/smfsv/smfnd/smfnd_mds.c | 3 +--
19 files changed, 25 insertions(+), 33 deletions(-)
All SMF defects detected by Coverity tool fixed.
diff --git a/osaf/libs/agents/saf/smfa/smfa_utils.c
b/osaf/libs/agents/saf/smfa/smfa_utils.c
--- a/osaf/libs/agents/saf/smfa/smfa_utils.c
+++ b/osaf/libs/agents/saf/smfa/smfa_utils.c
@@ -704,7 +704,9 @@ uint32_t smfa_cbk_list_cleanup(SaSmfHand
prev_cbk = cbk_list;
}else {
free(cbk_list);
- cbk_list =
prev_cbk->next_cbk;
+ cbk_list = NULL;
+ if(prev_cbk)
+ cbk_list =
prev_cbk->next_cbk;
}
}
}else{
diff --git a/osaf/libs/common/smfsv/smfsv_evt.c
b/osaf/libs/common/smfsv/smfsv_evt.c
--- a/osaf/libs/common/smfsv/smfsv_evt.c
+++ b/osaf/libs/common/smfsv/smfsv_evt.c
@@ -595,8 +595,8 @@ err:
uint32_t smf_enc_cbk_req(SMF_CBK_EVT *i_evt, NCS_UBAID *o_ub)
{
- uint32_t rc = NCSCC_RC_SUCCESS;
uint8_t *p8;
+ uint64_t length;
p8 = ncs_enc_reserve_space(o_ub, 8);
if (p8 == NULL)
@@ -622,7 +622,7 @@ uint32_t smf_enc_cbk_req(SMF_CBK_EVT *i_
LOG_ER("ncs_enc_reserve_space failed");
goto err;
}
- uint64_t length = osaf_extended_name_length(&i_evt->object_name);
+ length = osaf_extended_name_length(&i_evt->object_name);
if (length > 0xffffffff) {
LOG_ER("object name too long");
goto err;
@@ -668,7 +668,7 @@ uint32_t smf_enc_cbk_req(SMF_CBK_EVT *i_
ncs_encode_n_octets_in_uba(o_ub, (uint8_t*) i_evt->params,
i_evt->params_len);
}
- return rc;
+ return NCSCC_RC_SUCCESS;
err:
return NCSCC_RC_FAILURE;
}
diff --git a/osaf/services/saf/smfsv/smfd/SmfCallback.cc
b/osaf/services/saf/smfsv/smfd/SmfCallback.cc
--- a/osaf/services/saf/smfsv/smfd/SmfCallback.cc
+++ b/osaf/services/saf/smfsv/smfd/SmfCallback.cc
@@ -22,7 +22,6 @@
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/poll.h>
-#include <poll.h>
#include <new>
#include <vector>
#include <string>
diff --git a/osaf/services/saf/smfsv/smfd/SmfCampState.cc
b/osaf/services/saf/smfsv/smfd/SmfCampState.cc
--- a/osaf/services/saf/smfsv/smfd/SmfCampState.cc
+++ b/osaf/services/saf/smfsv/smfd/SmfCampState.cc
@@ -34,7 +34,6 @@
#include "SmfProcedureThread.hh"
#include <immutil.h>
#include <sstream>
-#include <iostream>
/* ========================================================================
* DEFINITIONS
* ========================================================================
diff --git a/osaf/services/saf/smfsv/smfd/SmfCampaign.cc
b/osaf/services/saf/smfsv/smfd/SmfCampaign.cc
--- a/osaf/services/saf/smfsv/smfd/SmfCampaign.cc
+++ b/osaf/services/saf/smfsv/smfd/SmfCampaign.cc
@@ -34,7 +34,6 @@
#include "saAis.h"
#include <saSmf.h>
#include <logtrace.h>
-#include <immutil.h>
#include <saf_error.h>
#include "osaf_extended_name.h"
diff --git a/osaf/services/saf/smfsv/smfd/SmfCampaignXmlParser.cc
b/osaf/services/saf/smfsv/smfd/SmfCampaignXmlParser.cc
--- a/osaf/services/saf/smfsv/smfd/SmfCampaignXmlParser.cc
+++ b/osaf/services/saf/smfsv/smfd/SmfCampaignXmlParser.cc
@@ -47,8 +47,6 @@
#include "SmfUpgradeProcedure.hh"
#include "SmfUpgradeMethod.hh"
#include "SmfTargetTemplate.hh"
-#include "SmfUpgradeStep.hh"
-#include "SmfCbkUtil.hh"
#define OSAF_MAX_RDN_LENGTH 64
@@ -2889,6 +2887,8 @@ SmfCampaignXmlParser::parseAdminOpAction
TRACE("value =
%s", s);
value =
strdup(s);
xmlFree(s);
+ // only single
value is supported, break out from loop
+ break;
}
}
@@ -2958,6 +2958,8 @@ SmfCampaignXmlParser::parseAdminOpAction
TRACE("value =
%s", s);
value =
strdup(s);
xmlFree(s);
+ // only single
value is supported, break out from loop
+ break;
}
}
diff --git a/osaf/services/saf/smfsv/smfd/SmfProcedureThread.cc
b/osaf/services/saf/smfsv/smfd/SmfProcedureThread.cc
--- a/osaf/services/saf/smfsv/smfd/SmfProcedureThread.cc
+++ b/osaf/services/saf/smfsv/smfd/SmfProcedureThread.cc
@@ -762,7 +762,8 @@ SmfProcedureThread::main(void)
this->handleEvents(); /* runs forever until stopped */
- this->deleteImmHandle();
+ if(this->deleteImmHandle() != SA_AIS_OK)
+ LOG_WA("SmfProcedureThread::main(): deleteImmHandle
failed");
/* Mark the thread terminated */
if(m_semaphore != NULL) {
diff --git a/osaf/services/saf/smfsv/smfd/SmfStepState.cc
b/osaf/services/saf/smfsv/smfd/SmfStepState.cc
--- a/osaf/services/saf/smfsv/smfd/SmfStepState.cc
+++ b/osaf/services/saf/smfsv/smfd/SmfStepState.cc
@@ -26,9 +26,6 @@
#include "SmfUpgradeStep.hh"
#include "SmfStepState.hh"
#include "SmfStepTypes.hh"
-#include "SmfUtils.hh"
-#include "immutil.h"
-#include "smfd.h"
/* ========================================================================
* DEFINITIONS
diff --git a/osaf/services/saf/smfsv/smfd/SmfStepTypes.cc
b/osaf/services/saf/smfsv/smfd/SmfStepTypes.cc
--- a/osaf/services/saf/smfsv/smfd/SmfStepTypes.cc
+++ b/osaf/services/saf/smfsv/smfd/SmfStepTypes.cc
@@ -1432,7 +1432,6 @@ SmfStepTypeNodeReboot::rollback()
/* Check if callback is required to be invoked.*/
cbkList = m_step->getProcedure()->getCbksBeforeLock();
- m_step->checkAndInvokeCallback(cbkList, SA_SMF_ROLLBACK);
if (m_step->checkAndInvokeCallback(cbkList, SA_SMF_ROLLBACK) == false) {
LOG_ER("checkAndInvokeCallback returned false for list
cbksBeforeLock, step=%s",m_step->getRdn().c_str());
return false;
diff --git a/osaf/services/saf/smfsv/smfd/SmfUpgradeMethod.cc
b/osaf/services/saf/smfsv/smfd/SmfUpgradeMethod.cc
--- a/osaf/services/saf/smfsv/smfd/SmfUpgradeMethod.cc
+++ b/osaf/services/saf/smfsv/smfd/SmfUpgradeMethod.cc
@@ -21,7 +21,6 @@
*/
#include "logtrace.h"
#include "SmfUpgradeMethod.hh"
-#include "SmfUpgradeStep.hh"
/* ========================================================================
* DEFINITIONS
* ========================================================================
diff --git a/osaf/services/saf/smfsv/smfd/smfd_amf.c
b/osaf/services/saf/smfsv/smfd/smfd_amf.c
--- a/osaf/services/saf/smfsv/smfd/smfd_amf.c
+++ b/osaf/services/saf/smfsv/smfd/smfd_amf.c
@@ -20,7 +20,6 @@
*/
#include "smfd.h"
-#include "immutil.h"
/****************************************************************************
* Name : amf_active_state_handler
diff --git a/osaf/services/saf/smfsv/smfd/smfd_campaign_oi.cc
b/osaf/services/saf/smfsv/smfd/smfd_campaign_oi.cc
--- a/osaf/services/saf/smfsv/smfd/smfd_campaign_oi.cc
+++ b/osaf/services/saf/smfsv/smfd/smfd_campaign_oi.cc
@@ -34,14 +34,11 @@
#include "immutil.h"
#include "smfd.h"
-#include "smfsv_defs.h"
#include "SmfCampaign.hh"
#include "SmfUpgradeCampaign.hh"
#include "SmfUpgradeProcedure.hh"
#include "SmfCampaignThread.hh"
-#include "SmfProcedureThread.hh"
#include "SmfUtils.hh"
-#include "SmfCampState.hh"
#include "SmfCbkUtil.hh"
#include "osaf_extended_name.h"
diff --git a/osaf/services/saf/smfsv/smfd/smfd_evt.c
b/osaf/services/saf/smfsv/smfd/smfd_evt.c
--- a/osaf/services/saf/smfsv/smfd/smfd_evt.c
+++ b/osaf/services/saf/smfsv/smfd/smfd_evt.c
@@ -26,7 +26,6 @@
#include "smfd.h"
#include "smfd_smfnd.h"
#include "smfd_evt.h"
-#include "smfsv_defs.h"
#include "smfsv_evt.h"
void proc_callback_rsp(smfd_cb_t *, SMFSV_EVT *);
@@ -62,8 +61,10 @@ static void proc_mds_info(smfd_cb_t * cb
}
if (mds_info->svc_id == NCSMDS_SVC_ID_SMFND) {
- smfnd_up(mds_info->node_id, mds_info->dest,
mds_info->rem_svc_pvt_ver);
- cb->no_of_smfnd++;
+ if(smfnd_up(mds_info->node_id, mds_info->dest,
mds_info->rem_svc_pvt_ver) == SA_AIS_OK)
+ cb->no_of_smfnd++;
+ else
+ LOG_WA("SMFND UP failed");
}
break;
diff --git a/osaf/services/saf/smfsv/smfd/smfd_main.c
b/osaf/services/saf/smfsv/smfd/smfd_main.c
--- a/osaf/services/saf/smfsv/smfd/smfd_main.c
+++ b/osaf/services/saf/smfsv/smfd/smfd_main.c
@@ -362,7 +362,8 @@ static void main_process(void)
*/
int main(int argc, char *argv[])
{
- setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1);
+ if(setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1) != 0)
+ LOG_WA("smfd_main(): failed to setenv SA_ENABLE_EXTENDED_NAMES
- %s",strerror(errno));
daemonize(argc, argv);
if (ncs_agents_startup() != NCSCC_RC_SUCCESS) {
diff --git a/osaf/services/saf/smfsv/smfd/smfd_mds.c
b/osaf/services/saf/smfsv/smfd/smfd_mds.c
--- a/osaf/services/saf/smfsv/smfd/smfd_mds.c
+++ b/osaf/services/saf/smfsv/smfd/smfd_mds.c
@@ -192,7 +192,7 @@ static uint32_t mds_rcv(struct ncsmds_ca
/* Send the event to our mailbox */
rc = m_NCS_IPC_SEND(&smfd_cb->mbx, smfsv_evt,
- mds_info->info.receive.i_priority);
+
(NCS_IPC_PRIORITY)mds_info->info.receive.i_priority);
if (rc != NCSCC_RC_SUCCESS) {
LOG_ER("IPC send failed %d", rc);
}
diff --git a/osaf/services/saf/smfsv/smfd/smfd_smfnd.c
b/osaf/services/saf/smfsv/smfd/smfd_smfnd.c
--- a/osaf/services/saf/smfsv/smfd/smfd_smfnd.c
+++ b/osaf/services/saf/smfsv/smfd/smfd_smfnd.c
@@ -34,7 +34,6 @@
#include "smfd.h"
#include "smfd_smfnd.h"
-#include "smfsv_defs.h"
#include "smfsv_evt.h"
/* ========================================================================
@@ -126,13 +125,13 @@ uint32_t smfnd_up(SaClmNodeIdT i_node_id
/* Check if the node id does already exists */
pthread_mutex_lock(&smfnd_list_lock);
smfnd = get_smfnd(i_node_id);
- pthread_mutex_unlock(&smfnd_list_lock);
if (smfnd == NULL) {
TRACE("New node Id, create new SmfndNodeT structure");
smfnd = calloc(1, sizeof(SmfndNodeT));
if (smfnd == NULL) {
LOG_ER("alloc of SmfndNodeT failed");
+ pthread_mutex_unlock(&smfnd_list_lock);
return NCSCC_RC_FAILURE;
}
newNode = true;
@@ -142,6 +141,8 @@ uint32_t smfnd_up(SaClmNodeIdT i_node_id
rc = saClmInitialize(&clmHandle, NULL, &clmVersion);
if (rc != SA_AIS_OK) {
LOG_ER("saClmInitialize failed, rc=%s", saf_error(rc));
+ free(smfnd);
+ pthread_mutex_unlock(&smfnd_list_lock);
return NCSCC_RC_FAILURE;
}
@@ -156,6 +157,7 @@ uint32_t smfnd_up(SaClmNodeIdT i_node_id
if (rc != SA_AIS_OK) {
LOG_ER("saClmFinalize failed, rc=%s", saf_error(rc));
}
+ pthread_mutex_unlock(&smfnd_list_lock);
return NCSCC_RC_FAILURE;
}
@@ -164,8 +166,6 @@ uint32_t smfnd_up(SaClmNodeIdT i_node_id
LOG_ER("saClmFinalize failed, rc=%s", saf_error(rc));
}
- pthread_mutex_lock(&smfnd_list_lock);
-
/* Store cluster node info */
memcpy(&smfnd->clmInfo, &clmInfo, sizeof(clmInfo));
diff --git a/osaf/services/saf/smfsv/smfnd/Makefile.am
b/osaf/services/saf/smfsv/smfnd/Makefile.am
--- a/osaf/services/saf/smfsv/smfnd/Makefile.am
+++ b/osaf/services/saf/smfsv/smfnd/Makefile.am
@@ -25,8 +25,7 @@ osaf_execbindir = $(pkglibdir)
osaf_execbin_PROGRAMS = osafsmfnd
noinst_HEADERS = \
- smfnd.h \
- smfnd_evt.h
+ smfnd.h
osafsmfnd_CPPFLAGS = \
-DSA_CLM_B01=1 -DSA_EXTENDED_NAME_SOURCE \
diff --git a/osaf/services/saf/smfsv/smfnd/smfnd_evt.c
b/osaf/services/saf/smfsv/smfnd/smfnd_evt.c
--- a/osaf/services/saf/smfsv/smfnd/smfnd_evt.c
+++ b/osaf/services/saf/smfsv/smfnd/smfnd_evt.c
@@ -22,7 +22,6 @@
#include "smfnd.h"
#include "smfsv_defs.h"
#include "smfsv_evt.h"
-#include "smfnd_evt.h"
/* This function is called in another threads context so be
careful with what you do here */
diff --git a/osaf/services/saf/smfsv/smfnd/smfnd_mds.c
b/osaf/services/saf/smfsv/smfnd/smfnd_mds.c
--- a/osaf/services/saf/smfsv/smfnd/smfnd_mds.c
+++ b/osaf/services/saf/smfsv/smfnd/smfnd_mds.c
@@ -19,7 +19,6 @@
#include "smfnd.h"
#include "smfsv_evt.h"
-#include "smfnd_evt.h"
uint32_t mds_register(smfnd_cb_t * cb);
void mds_unregister(smfnd_cb_t * cb);
@@ -195,7 +194,7 @@ static uint32_t mds_rcv(struct ncsmds_ca
smfsv_evt->mds_ctxt = mds_info->info.receive.i_msg_ctxt;
/* Send the event to our mailbox */
- rc = m_NCS_IPC_SEND(&smfnd_cb->mbx, smfsv_evt,
mds_info->info.receive.i_priority);
+ rc = m_NCS_IPC_SEND(&smfnd_cb->mbx, smfsv_evt,
(NCS_IPC_PRIORITY)mds_info->info.receive.i_priority);
if (rc != NCSCC_RC_SUCCESS) {
LOG_ER("IPC send failed %d", rc);
}
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel