diff --git a/src/plugins/select/cons_res/job_test.c b/src/plugins/select/cons_res/job_test.c index c5adc65d144976d8521c5e291c0acedee81f8ebc..4fdb1d6b91a0625751745c5e8bc71c69377a4eee 100644 --- a/src/plugins/select/cons_res/job_test.c +++ b/src/plugins/select/cons_res/job_test.c @@ -1658,6 +1658,7 @@ alloc_job: error_code = EINVAL; if ((error_code != SLURM_SUCCESS) || (mode != SELECT_MODE_RUN_NOW)) { FREE_NULL_BITMAP(free_cores); + xfree(cpu_count); return error_code; } diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index d7e7e554e6525be5691ea117074094bc1fa9ee56..fa31ed9fc7e2b7ff7776a9547ad22f33b8daf50e 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -3544,6 +3544,7 @@ static void _list_delete_job(void *job_entry) delete_step_records(job_ptr, 0); list_destroy(job_ptr->step_list); } + xfree(job_ptr->wckey); job_count--; xfree(job_ptr); } diff --git a/src/slurmctld/node_scheduler.c b/src/slurmctld/node_scheduler.c index bd986f89b11b584ca8509993d55f32cc7351599a..59a82bd961c50b8c59824dc7435c78139a5eb134 100644 --- a/src/slurmctld/node_scheduler.c +++ b/src/slurmctld/node_scheduler.c @@ -352,7 +352,7 @@ _get_req_features(struct node_set *node_set_ptr, int node_set_size, if (job_ptr->details->req_node_bitmap && (!bit_super_set(job_ptr->details->req_node_bitmap, resv_bitmap))) { - bit_free(resv_bitmap); + FREE_NULL_BITMAP(resv_bitmap); return ESLURM_RESERVATION_NOT_USABLE; } if (resv_bitmap && @@ -360,7 +360,8 @@ _get_req_features(struct node_set *node_set_ptr, int node_set_size, bit_and(resv_bitmap, avail_node_bitmap); save_avail_node_bitmap = avail_node_bitmap; avail_node_bitmap = resv_bitmap; - } + } else + FREE_NULL_BITMAP(resv_bitmap); } /* save job and request state */