diff --git a/src/api/step_launch.c b/src/api/step_launch.c index 1903d929bf42090e20e0535e14da63e8aea12726..6e83a639a61a478ce48234dc3cff1667dc3bd929 100644 --- a/src/api/step_launch.c +++ b/src/api/step_launch.c @@ -243,6 +243,7 @@ extern int slurm_step_launch(slurm_step_ctx_t *ctx, if (params->pack_jobid && (params->pack_jobid != NO_VAL)) _rebuild_mpi_layout(ctx, params); + mpi_env = xmalloc(sizeof(char *)); /* Needed for setenvf used by MPI */ if ((ctx->launch_state->mpi_state = mpi_hook_client_prelaunch(ctx->launch_state->mpi_info, &mpi_env)) == NULL) { diff --git a/src/common/env.c b/src/common/env.c index 0bd293e16f86df6cdf87fa85bf23679d5e853b83..bb8620e02794ad9d8eec3baf74d3690ed5209122 100644 --- a/src/common/env.c +++ b/src/common/env.c @@ -282,7 +282,7 @@ int setenvf(char ***envp, const char *name, const char *fmt, ...) return ENOMEM; } - if (envp) { + if (envp && *envp) { if (env_array_overwrite(envp, name, value) == 1) rc = 0; else