osaf/libs/agents/saf/imma/imma_db.cc | 3 +-- osaf/libs/agents/saf/imma/imma_oi_api.cc | 7 +++---- osaf/libs/agents/saf/imma/imma_om_api.cc | 24 +++++++++++++----------- osaf/libs/agents/saf/imma/imma_proc.cc | 6 ++++-- 4 files changed, 21 insertions(+), 19 deletions(-)
Fix "crosses initialization" errors. diff --git a/osaf/libs/agents/saf/imma/imma_db.cc b/osaf/libs/agents/saf/imma/imma_db.cc --- a/osaf/libs/agents/saf/imma/imma_db.cc +++ b/osaf/libs/agents/saf/imma/imma_db.cc @@ -1346,10 +1346,9 @@ SaStringT* imma_getErrorStrings(IMMSV_SA { unsigned int listSize = 0; SaStringT* errStringArr=NULL; + IMMSV_ATTR_NAME_LIST* errStrs = errRsp->errStrings; if(errRsp->errStrings == NULL) {goto done;} - IMMSV_ATTR_NAME_LIST* errStrs = errRsp->errStrings; - while(errStrs) { ++listSize; errStrs = errStrs->next; diff --git a/osaf/libs/agents/saf/imma/imma_oi_api.cc b/osaf/libs/agents/saf/imma/imma_oi_api.cc --- a/osaf/libs/agents/saf/imma/imma_oi_api.cc +++ b/osaf/libs/agents/saf/imma/imma_oi_api.cc @@ -895,6 +895,9 @@ static SaAisErrorT admin_op_result_commo uint32_t proc_rc = NCSCC_RC_SUCCESS; bool locked = true; bool errStringPar = false; + /* Note NOT unsigned since negative means async invoc. */ + SaInt32T inv = m_IMMSV_UNPACK_HANDLE_LOW(invocation); + SaInt32T owner = m_IMMSV_UNPACK_HANDLE_HIGH(invocation); TRACE_ENTER(); if (cb->sv_id == 0) { @@ -972,10 +975,6 @@ static SaAisErrorT admin_op_result_commo } - /* Note NOT unsigned since negative means async invoc. */ - SaInt32T inv = m_IMMSV_UNPACK_HANDLE_LOW(invocation); - SaInt32T owner = m_IMMSV_UNPACK_HANDLE_HIGH(invocation); - /* populate the structure */ memset(&adminOpRslt_evt, 0, sizeof(IMMSV_EVT)); adminOpRslt_evt.type = IMMSV_EVT_TYPE_IMMND; diff --git a/osaf/libs/agents/saf/imma/imma_om_api.cc b/osaf/libs/agents/saf/imma/imma_om_api.cc --- a/osaf/libs/agents/saf/imma/imma_om_api.cc +++ b/osaf/libs/agents/saf/imma/imma_om_api.cc @@ -1605,6 +1605,7 @@ static SaAisErrorT ccb_object_create_com SaImmHandleT immHandle=0LL; SaUint32T adminOwnerId = 0; SaStringT *newErrorStrings = NULL; + size_t parentNameLength = 0; TRACE_ENTER(); if (cb->sv_id == 0) { @@ -1840,7 +1841,6 @@ static SaAisErrorT ccb_object_create_com } strncpy(evt.info.immnd.info.objCreate.className.buf, className, evt.info.immnd.info.objCreate.className.size); - size_t parentNameLength = 0; if(parentName) { if(!osaf_is_extended_name_valid(parentName)) { rc = SA_AIS_ERR_INVALID_PARAM; @@ -3827,10 +3827,9 @@ static SaAisErrorT admin_op_invoke_commo evt.info.immnd.info.admOpReq.objectName.buf = (char *)objectName; osafassert(evt.info.immnd.info.admOpReq.params == NULL); - const SaImmAdminOperationParamsT_2 *param = NULL; int i; for (i = 0; params[i]; ++i) { - param = params[i]; + const SaImmAdminOperationParamsT_2 *param = params[i]; /*alloc-2 */ IMMSV_ADMIN_OPERATION_PARAM *p = malloc(sizeof(IMMSV_ADMIN_OPERATION_PARAM)); memset(p, 0, sizeof(IMMSV_ADMIN_OPERATION_PARAM)); @@ -4599,6 +4598,10 @@ SaAisErrorT saImmOmClassCreate_2(SaImmHa IMMSV_ATTR_DEF_LIST *sysattr = NULL; const SaImmAttrDefinitionT_2 *attr; int i; + int persistent = 0; + int attrClNameExist = 0; + int attrAdmNameExist = 0; + int attrImplNameExist = 0; TRACE_ENTER(); if (cb->sv_id == 0) { @@ -4751,11 +4754,7 @@ SaAisErrorT saImmOmClassCreate_2(SaImmHa evt.info.immnd.info.classDescr.classCategory = classCategory; TRACE("name: %s category:%u", className, classCategory); - int persistent = 0; attr = attrDefinitions[0]; - int attrClNameExist = 0; - int attrAdmNameExist = 0; - int attrImplNameExist = 0; for (i = 0; attr != 0; attr = attrDefinitions[++i]) { /* Ignore system attribute definitions that are loaded since they are indistinguishable from being set @@ -5759,6 +5758,8 @@ static SaAisErrorT accessor_get_common(S IMMSV_EVT evt; IMMSV_EVT *out_evt = NULL; SaTimeT timeout; + IMMSV_OM_SEARCH_INIT *req = NULL; + SaImmHandleT immHandle; TRACE_ENTER(); @@ -5810,7 +5811,7 @@ static SaAisErrorT accessor_get_common(S goto release_lock; } - SaImmHandleT immHandle = search_node->mImmHandle; + immHandle = search_node->mImmHandle; imma_client_node_get(&cb->client_tree, &immHandle, &cl_node); if (!(cl_node && cl_node->isOm)) { @@ -5869,7 +5870,7 @@ static SaAisErrorT accessor_get_common(S memset(&evt, 0, sizeof(IMMSV_EVT)); evt.type = IMMSV_EVT_TYPE_IMMND; evt.info.immnd.type = (ccbId)?IMMND_EVT_A2ND_OBJ_SAFE_READ:IMMND_EVT_A2ND_ACCESSOR_GET; - IMMSV_OM_SEARCH_INIT *req = &(evt.info.immnd.info.searchInit); + req = &(evt.info.immnd.info.searchInit); req->client_hdl = immHandle; req->rootName.size = strlen(objectName) + 1; req->rootName.buf = (char *)objectName; @@ -7017,8 +7018,10 @@ static SaAisErrorT search_init_common(Sa IMMSV_EVT *out_evt = NULL; IMMA_CLIENT_NODE *cl_node = NULL; IMMA_SEARCH_NODE *search_node = NULL; + IMMSV_OM_SEARCH_INIT *req = NULL; SaImmSearchHandleT tmpSearchHandle=0LL; SaTimeT timeout = 0; + int rootNameLength = 0; TRACE_ENTER(); if (cb->sv_id == 0) { @@ -7198,10 +7201,9 @@ static SaAisErrorT search_init_common(Sa memset(&evt, 0, sizeof(IMMSV_EVT)); evt.type = IMMSV_EVT_TYPE_IMMND; evt.info.immnd.type = IMMND_EVT_A2ND_SEARCHINIT; - IMMSV_OM_SEARCH_INIT *req = &(evt.info.immnd.info.searchInit); + req = &(evt.info.immnd.info.searchInit); req->client_hdl = immHandle; - int rootNameLength = 0; if(rootName) { if(!(osaf_is_extended_names_enabled() || strlen(rootName) < SA_MAX_UNEXTENDED_NAME_LENGTH)) { diff --git a/osaf/libs/agents/saf/imma/imma_proc.cc b/osaf/libs/agents/saf/imma/imma_proc.cc --- a/osaf/libs/agents/saf/imma/imma_proc.cc +++ b/osaf/libs/agents/saf/imma/imma_proc.cc @@ -3231,8 +3231,10 @@ SaAisErrorT imma_evt_fake_evs(IMMA_CB *c IMMSV_EVT fevs_evt; uint32_t proc_rc; char *tmpData = NULL; + char *data = NULL; NCS_UBAID uba; uba.start = NULL; + int32_t size; osafassert(locked && (*locked)); /*Pack the message for sending over multiple hops. */ @@ -3252,11 +3254,11 @@ SaAisErrorT imma_evt_fake_evs(IMMA_CB *c goto fail; } - int32_t size = uba.ttl; + size = uba.ttl; /*NOTE: should check against "payload max-size" */ tmpData = malloc(size); - char *data = m_MMGR_DATA_AT_START(uba.start, size, tmpData); + data = m_MMGR_DATA_AT_START(uba.start, size, tmpData); memset(&fevs_evt, 0, sizeof(IMMSV_EVT)); fevs_evt.type = IMMSV_EVT_TYPE_IMMND; ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today. http://sdm.link/xeonphi _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel