From 9f6aeb5b3d37e328c0816d7ea84392f36d50c685 Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Thu, 7 Dec 2017 09:00:55 +0900 Subject: [PATCH] mpool/base: plug a memory leak set the key of all mpool_tree_item objects, so they can be retrieved in mpool_base_free and then returned back to the mca_mpool_base_tree_item_free_list free list. Refs. open-mpi/ompi#4567 Thanks Philip Blakely for the bug report. Signed-off-by: Gilles Gouaillardet (cherry picked from commit open-mpi/ompi@11e5f86bf89d17f50e00ee8c07d9a336d99b67d2) --- opal/mca/mpool/base/mpool_base_alloc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/opal/mca/mpool/base/mpool_base_alloc.c b/opal/mca/mpool/base/mpool_base_alloc.c index 95a6ac3a115..8156e55a10f 100644 --- a/opal/mca/mpool/base/mpool_base_alloc.c +++ b/opal/mca/mpool/base/mpool_base_alloc.c @@ -14,6 +14,8 @@ * Copyright (c) 2010-2017 IBM Corporation. All rights reserved. * Copyright (c) 2015 Los Alamos National Security, LLC. All rights * reserved. + * Copyright (c) 2017 Research Organization for Information Science + * and Technology (RIST). All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow @@ -84,6 +86,7 @@ void *mca_mpool_base_alloc(size_t size, opal_info_t *info, const char *hints) mca_mpool_base_tree_item_put (mpool_tree_item); } else { mpool_tree_item->mpool = mpool; + mpool_tree_item->key = mem; mca_mpool_base_tree_insert (mpool_tree_item); }