osaf/services/saf/immsv/immnd/immnd_evt.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
OI rejects create/modify callback and adds ccberrorstring to the OI response.
IMMND while sending the reponse back to OM client there is memory corruption
observed.
diff --git a/osaf/services/saf/immsv/immnd/immnd_evt.c
b/osaf/services/saf/immsv/immnd/immnd_evt.c
--- a/osaf/services/saf/immsv/immnd/immnd_evt.c
+++ b/osaf/services/saf/immsv/immnd/immnd_evt.c
@@ -3492,12 +3492,12 @@ static void immnd_evt_proc_ccb_obj_modif
memset(&send_evt, '\0', sizeof(IMMSV_EVT));
send_evt.type = IMMSV_EVT_TYPE_IMMA;
send_evt.info.imma.type = IMMA_EVT_ND2A_IMM_ERROR;
+ IMMSV_ATTR_NAME_LIST strList;
if (evt->info.ccbUpcallRsp.result != SA_AIS_OK) {
evt->info.ccbUpcallRsp.result =
SA_AIS_ERR_FAILED_OPERATION;
if (evt->info.ccbUpcallRsp.errorString.size) {
osafassert(evt->type ==
IMMND_EVT_A2ND_CCB_OBJ_MODIFY_RSP_2);
- IMMSV_ATTR_NAME_LIST strList;
strList.next = NULL;
strList.name =
evt->info.ccbUpcallRsp.errorString;/*borrow*/
send_evt.info.imma.info.errRsp.errStrings =
&(strList);
@@ -3562,11 +3562,12 @@ static void immnd_evt_proc_ccb_obj_creat
memset(&send_evt, '\0', sizeof(IMMSV_EVT));
send_evt.type = IMMSV_EVT_TYPE_IMMA;
send_evt.info.imma.type = IMMA_EVT_ND2A_IMM_ERROR;
+ IMMSV_ATTR_NAME_LIST strList;
+
if (evt->info.ccbUpcallRsp.result != SA_AIS_OK) {
evt->info.ccbUpcallRsp.result =
SA_AIS_ERR_FAILED_OPERATION;
if (evt->info.ccbUpcallRsp.errorString.size) {
osafassert(evt->type ==
IMMND_EVT_A2ND_CCB_OBJ_CREATE_RSP_2);
- IMMSV_ATTR_NAME_LIST strList;
strList.next = NULL;
strList.name =
evt->info.ccbUpcallRsp.errorString;/*borrow*/
send_evt.info.imma.info.errRsp.errStrings =
&(strList);
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel