Hi Hung,

Ack from me.

Thanks,
Zoran

-----Original Message-----
From: Hung Nguyen [mailto:hung.d.ngu...@dektech.com.au] 
Sent: den 29 maj 2017 12:34
To: Zoran Milinkovic <zoran.milinko...@ericsson.com>; 
reddy.neelaka...@oracle.com
Cc: opensaf-devel@lists.sourceforge.net; Hung Duc Nguyen 
<hung.d.ngu...@dektech.com.au>
Subject: [PATCH 1/1] imm: Clear mLastResult before sending response to agent 
[#2470]

In immnd_evt_proc_search_next(), before jumping to agent_rsp, mLastResult must 
be cleared.
So that it will not be freed again in immnd_proc_imma_discard_connection().
---
 src/imm/immnd/immnd_evt.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/imm/immnd/immnd_evt.c b/src/imm/immnd/immnd_evt.c index 
cacf4d5..3f8ef10 100644
--- a/src/imm/immnd/immnd_evt.c
+++ b/src/imm/immnd/immnd_evt.c
@@ -1844,6 +1844,7 @@ static uint32_t immnd_evt_proc_search_next(IMMND_CB *cb, 
IMMND_EVT *evt,
                        /*Fetch client node for OI ! */
                        immnd_client_node_get(cb, implHandle, &oi_cl_node);
                        if (oi_cl_node == NULL || oi_cl_node->mIsStale) {
+                               immModel_clearLastResult(sn->searchOp);
                                LOG_WA(
                                    "ERR_NO_RESOURCES: SearchNext: Implementer 
died during fetch of pure RTA");
                                error = SA_AIS_ERR_NO_RESOURCES;
@@ -1856,6 +1857,7 @@ static uint32_t immnd_evt_proc_search_next(IMMND_CB *cb, 
IMMND_EVT *evt,
                                        cb, NCSMDS_SVC_ID_IMMA_OI,
                                        oi_cl_node->agent_mds_dest,
                                        &send_evt) != NCSCC_RC_SUCCESS) {
+                                       immModel_clearLastResult(sn->searchOp);
                                        LOG_WA(
                                            "ERR_NO_RESOURCES: SearchNext - 
Agent upcall over MDS for rtUpdate failed");
                                        error = SA_AIS_ERR_NO_RESOURCES;
@@ -1884,6 +1886,7 @@ static uint32_t immnd_evt_proc_search_next(IMMND_CB *cb, 
IMMND_EVT *evt,
                        rc = immnd_mds_msg_send(cb, NCSMDS_SVC_ID_IMMND,
                                                implDest, &send_evt);
                        if (rc != NCSCC_RC_SUCCESS) {
+                               immModel_clearLastResult(sn->searchOp);
                                LOG_ER(
                                    "ERR_NO_RESOURCES: SearchNext - Problem in 
sending to peer IMMND over MDS. Aborting searchNext.");
                                error = SA_AIS_ERR_NO_RESOURCES;
--
2.7.4


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to