From aa947d8096b55d05ae408c306c731ddcd47028bd Mon Sep 17 00:00:00 2001 From: Alejandro Sanchez <alex@schedmd.com> Date: Tue, 21 Aug 2018 15:04:58 +0200 Subject: [PATCH] Fix srun segfault caused by invalid memory reads on the env. Bug 5561. --- src/srun/libsrun/srun_job.c | 2 ++ src/srun/srun.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/srun/libsrun/srun_job.c b/src/srun/libsrun/srun_job.c index 8cfb168c21f..2fce59d0817 100644 --- a/src/srun/libsrun/srun_job.c +++ b/src/srun/libsrun/srun_job.c @@ -1300,6 +1300,8 @@ extern void pre_launch_srun_job(srun_job_t *job, bool slurm_started, slurm_step_launch_abort(job->step_ctx); exit(error_exit); } + + env_array_merge(&job->env, (const char **)__environ); } extern void fini_srun(srun_job_t *job, bool got_alloc, uint32_t *global_rc, diff --git a/src/srun/srun.c b/src/srun/srun.c index 2ca98971079..fd7181774cd 100644 --- a/src/srun/srun.c +++ b/src/srun/srun.c @@ -597,7 +597,7 @@ static void _setup_one_job_env(slurm_opt_t *opt_local, srun_job_t *job, } setup_env(env, srun_opt->preserve_env); - job->env = environ; + env_array_merge(&job->env, (const char **)environ); xfree(env->task_count); xfree(env); } -- GitLab