diff --git a/src/common/slurm_protocol_defs.c b/src/common/slurm_protocol_defs.c index a4d0bffa7fc3c22791648534b5b4919bbe13b9ea..62372161c5dfe244b66349eb2c19934bda575444 100644 --- a/src/common/slurm_protocol_defs.c +++ b/src/common/slurm_protocol_defs.c @@ -767,6 +767,9 @@ extern void slurm_free_job_desc_msg(job_desc_msg_t * msg) xfree(msg->qos); xfree(msg->std_out); xfree(msg->partition); + for (i = 0; i < msg->pelog_env_size; i++) + xfree(msg->pelog_env[i]); + xfree(msg->pelog_env); xfree(msg->ramdiskimage); xfree(msg->req_nodes); xfree(msg->reservation); @@ -801,6 +804,9 @@ extern void slurm_free_prolog_launch_msg(prolog_launch_msg_t * msg) xfree(msg->alias_list); xfree(msg->nodes); xfree(msg->partition); + for (i = 0; i < msg->pelog_env_size; i++) + xfree(msg->pelog_env[i]); + xfree(msg->pelog_env); xfree(msg->std_err); xfree(msg->std_out); xfree(msg->work_dir); @@ -850,6 +856,12 @@ extern void slurm_free_job_launch_msg(batch_job_launch_msg_t * msg) xfree(msg->argv); } + if (msg->pelog_env) { + for (i = 0; i < msg->pelog_env_size; i++) + xfree(msg->pelog_env[i]); + xfree(msg->pelog_env); + } + if (msg->spank_job_env) { for (i = 0; i < msg->spank_job_env_size; i++) xfree(msg->spank_job_env[i]); @@ -867,6 +879,7 @@ extern void slurm_free_job_launch_msg(batch_job_launch_msg_t * msg) slurm_cred_destroy(msg->cred); xfree(msg->resv_name); + xfree(msg->resv_ports); xfree(msg); } } @@ -1171,6 +1184,9 @@ extern void slurm_free_launch_tasks_request_msg(launch_tasks_request_msg_t * msg } xfree(msg->argv); } + for (i = 0; i < msg->pelog_env_size; i++) + xfree(msg->pelog_env[i]); + xfree(msg->pelog_env); for (i = 0; i < msg->spank_job_env_size; i++) { xfree(msg->spank_job_env[i]); }