Hi Thuan, Ack (Not tested).
B.R/Thang -----Original Message----- From: Thuan Tran <thuan.t...@dektech.com.au> Sent: Tuesday, August 18, 2020 3:54 PM To: Thang Duc Nguyen <thang.d.ngu...@dektech.com.au>; Minh Hon Chau <minh.c...@dektech.com.au> Cc: opensaf-devel@lists.sourceforge.net; Thuan Tran <thuan.t...@dektech.com.au> Subject: [PATCH 1/1] imm: fix memleak detected by valgrind [#3213] --- src/imm/immd/immd_evt.c | 3 +++ src/imm/immnd/immnd_evt.c | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/imm/immd/immd_evt.c b/src/imm/immd/immd_evt.c index de247c9fa..8d789249d 100644 --- a/src/imm/immd/immd_evt.c +++ b/src/imm/immd/immd_evt.c @@ -256,6 +256,9 @@ void immd_process_evt(void) rc, evt->info.immd.type); } + if (evt->info.immd.type == IMMD_EVT_ND2D_ADMINIT_REQ) + osaf_extended_name_free( + &evt->info.immd.info.admown_init.i.adminOwnerName); /* Free the Event */ free(evt); TRACE_LEAVE(); diff --git a/src/imm/immnd/immnd_evt.c b/src/imm/immnd/immnd_evt.c index ff2538d15..afc2106a0 100644 --- a/src/imm/immnd/immnd_evt.c +++ b/src/imm/immnd/immnd_evt.c @@ -566,6 +566,22 @@ uint32_t immnd_evt_destroy(IMMSV_EVT *evt, bool onheap, uint32_t line) free(evt->info.immnd.info.ccbUpcallRsp.errorString.buf); evt->info.immnd.info.ccbUpcallRsp.errorString.buf = NULL; evt->info.immnd.info.ccbUpcallRsp.errorString.size = 0; + if (evt->info.immnd.type == + IMMND_EVT_A2ND_CCB_OBJ_DELETE_RSP_2) + osaf_extended_name_free( + &evt->info.immnd.info.ccbUpcallRsp.name); + } else if ((evt->info.immnd.type == + IMMND_EVT_A2ND_CCB_OBJ_DELETE_RSP) || + (evt->info.immnd.type == + IMMND_EVT_A2ND_OI_CCB_AUG_INIT)) { + osaf_extended_name_free( + &evt->info.immnd.info.ccbUpcallRsp.name); + } else if (evt->info.immnd.type == IMMND_EVT_A2ND_IMM_ADMINIT) { + osaf_extended_name_free( + &evt->info.immnd.info.adminitReq.i.adminOwnerName); + } else if (evt->info.immnd.type == IMMND_EVT_D2ND_ADMINIT) { + osaf_extended_name_free( + &evt->info.immnd.info.adminitGlobal.i.adminOwnerName); } else if (evt->info.immnd.type == IMMND_EVT_D2ND_IMPLDELETE) { for(uint32_t i=0; i<evt->info.immnd.info.impl_delete.size; ++i) { free(evt->info.immnd.info.impl_delete.implNameList[i].buf); -- 2.17.1 _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel