diff --git a/src/common/slurm_step_layout.c b/src/common/slurm_step_layout.c index ef0579b894c4ec6e29544321dd7c6bf9077fe48f..2245f813da62d33e6d892111a3a0c1762a335239 100644 --- a/src/common/slurm_step_layout.c +++ b/src/common/slurm_step_layout.c @@ -132,6 +132,7 @@ slurm_step_layout_t *slurm_step_layout_create( slurm_step_layout_destroy(step_layout); step_layout = NULL; } + xfree(arbitrary_nodes); return step_layout; } diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index 815b9434baf033b70a58bd9f305965bb53ca7d62..468cd0b88fe21e0c11b4c5d40e8d7a2fa4ccc2e9 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -1051,6 +1051,7 @@ static void _excise_node_from_job(struct job_record *job_ptr, struct node_record *node_ptr) { make_node_idle(node_ptr, job_ptr); /* updates bitmap */ + xfree(job_ptr->nodes); job_ptr->nodes = bitmap2node_name(job_ptr->node_bitmap); xfree(job_ptr->cpus_per_node); xfree(job_ptr->cpu_count_reps); diff --git a/src/slurmctld/node_scheduler.c b/src/slurmctld/node_scheduler.c index 28972b6de66f407d9c6b87a8e582ff416eac22d0..23742f456ce0db316036fabc17b5df8cbb886b98 100644 --- a/src/slurmctld/node_scheduler.c +++ b/src/slurmctld/node_scheduler.c @@ -638,6 +638,7 @@ _pick_best_nodes(struct node_set *node_set_ptr, int node_set_size, FREE_NULL_BITMAP( partially_idle_node_bitmap); } + FREE_NULL_BITMAP(avail_bitmap); FREE_NULL_BITMAP(total_bitmap); FREE_NULL_BITMAP(possible_bitmap); return error_code; diff --git a/src/slurmctld/step_mgr.c b/src/slurmctld/step_mgr.c index 154b6e14f187ba2787b4fca9061cdc3240fe8371..96eceedf6993cbd730cb9095eedafaa2d585a0a6 100644 --- a/src/slurmctld/step_mgr.c +++ b/src/slurmctld/step_mgr.c @@ -730,6 +730,7 @@ step_create(job_step_create_request_msg_t *step_specs, step_specs->node_list = bitmap2node_name(nodeset); } else { step_node_list = bitmap2node_name(nodeset); + xfree(step_specs->node_list); step_specs->node_list = xstrdup(step_node_list); }