From 75233573d1727576f00cc690d3c6ea1281857900 Mon Sep 17 00:00:00 2001 From: "Nysal Jan K.A" Date: Sun, 27 Mar 2016 04:11:25 -0400 Subject: [PATCH] pmix: Increment the reference count in PMIx_Init The reference counting was broken which led PMIx_Finalize to release resources early. This fixes the "use after free" scenarios that I encountered. (based on commit pmix/master@abfaa4c) --- opal/mca/pmix/pmix112/pmix/src/client/pmix_client.c | 1 + opal/mca/pmix/pmix120/pmix/src/client/pmix_client.c | 1 + 2 files changed, 2 insertions(+) diff --git a/opal/mca/pmix/pmix112/pmix/src/client/pmix_client.c b/opal/mca/pmix/pmix112/pmix/src/client/pmix_client.c index b1379bbf19..e1171cae4e 100644 --- a/opal/mca/pmix/pmix112/pmix/src/client/pmix_client.c +++ b/opal/mca/pmix/pmix112/pmix/src/client/pmix_client.c @@ -248,6 +248,7 @@ int PMIx_Init(pmix_proc_t *proc) (void)strncpy(proc->nspace, pmix_globals.myid.nspace, PMIX_MAX_NSLEN); proc->rank = pmix_globals.myid.rank; } + ++pmix_globals.init_cntr; return PMIX_SUCCESS; } diff --git a/opal/mca/pmix/pmix120/pmix/src/client/pmix_client.c b/opal/mca/pmix/pmix120/pmix/src/client/pmix_client.c index 4be09eaa00..8544b798d7 100644 --- a/opal/mca/pmix/pmix120/pmix/src/client/pmix_client.c +++ b/opal/mca/pmix/pmix120/pmix/src/client/pmix_client.c @@ -258,6 +258,7 @@ int PMIx_Init(pmix_proc_t *proc) (void)strncpy(proc->nspace, pmix_globals.myid.nspace, PMIX_MAX_NSLEN); proc->rank = pmix_globals.myid.rank; } + ++pmix_globals.init_cntr; return PMIX_SUCCESS; } /* if we don't see the required info, then we cannot init */