[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.0.4-446-g44092df

mysql vizuser noreply at mpich.org
Wed Aug 7 14:10:04 CDT 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".

The branch, master has been updated
       via  44092df90b8957ef6ee81b60fed1d997e829b547 (commit)
      from  2659cdd35f5e14caf2560d21f433c8c2542d1a78 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/44092df90b8957ef6ee81b60fed1d997e829b547

commit 44092df90b8957ef6ee81b60fed1d997e829b547
Author: Pavan Balaji <balaji at mcs.anl.gov>
Date:   Tue Aug 6 19:35:14 2013 -0500

    Bug-fix: initialize string stash list early.
    
    We were jumping to exit early causing us to try to free an unitialized
    string stash list.  We should really use C++ constructor-style
    allocation functions for this.  This commit just moves the
    initialization early, so we don't try to free garbage when we jump to
    exit.
    
    Signed-off-by: Antonio J. Pena <apenya at mcs.anl.gov>

diff --git a/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c b/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
index 26915f2..4dd7ffe 100644
--- a/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
+++ b/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
@@ -253,6 +253,10 @@ static HYD_status fn_spawn(int fd, int pid, int pgid, char *args[])
         mcmd_args[mcmd_num_args++] = HYDU_strdup(args[i]);
     mcmd_args[mcmd_num_args] = NULL;
 
+    /* Initialize the proxy stash, so it can be freed if we jump to
+     * exit */
+    HYD_STRING_STASH_INIT(proxy_stash);
+
     status = HYD_pmcd_pmi_args_to_tokens(mcmd_args, &tokens, &token_count);
     HYDU_ERR_POP(status, "unable to convert args to tokens\n");
 
@@ -500,7 +504,6 @@ static HYD_status fn_spawn(int fd, int pid, int pgid, char *args[])
     /* Go to the last PG */
     for (pg = &HYD_server_info.pg_list; pg->next; pg = pg->next);
 
-    HYD_STRING_STASH_INIT(proxy_stash);
     status = HYD_pmcd_pmi_fill_in_proxy_args(&proxy_stash, control_port, new_pgid);
     HYDU_ERR_POP(status, "unable to fill in proxy arguments\n");
     HYDU_FREE(control_port);

-----------------------------------------------------------------------

Summary of changes:
 src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list