diff --git a/libglusterfs/src/mem-pool.c b/libglusterfs/src/mem-pool.c index f053fdceae2..1be523212a3 100644 --- a/libglusterfs/src/mem-pool.c +++ b/libglusterfs/src/mem-pool.c @@ -384,6 +384,7 @@ __gf_free(void *free_ptr) LOCK(&mem_acct->rec[header->type].lock); { list_del(&header->acct_list); + mem_acct->rec[header->type].size -= header->size; } UNLOCK(&mem_acct->rec[header->type].lock); #endif diff --git a/xlators/mgmt/glusterd/src/glusterd-handshake.c b/xlators/mgmt/glusterd/src/glusterd-handshake.c index 42aea78a002..a33b267aad4 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handshake.c +++ b/xlators/mgmt/glusterd/src/glusterd-handshake.c @@ -2282,6 +2282,9 @@ glusterd_mgmt_handshake(xlator_t *this, glusterd_peerctx_t *peerctx) if (ret && frame) STACK_DESTROY(frame->root); + if (req.hndsk.hndsk_val) + GF_FREE(req.hndsk.hndsk_val); + return ret; }