From 486e0233b71998f9d291fba6c4099ca5a5c11d6f Mon Sep 17 00:00:00 2001 From: David Bigagli <david@schedmd.com> Date: Wed, 8 May 2013 14:42:32 -0700 Subject: [PATCH] Bug#284 Fix invalid memory read. --- .../slurmdbd/accounting_storage_slurmdbd.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c b/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c index 7b17bf90dc0..0a154339d15 100644 --- a/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c +++ b/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c @@ -130,6 +130,9 @@ static void _partial_free_dbd_job_start(void *object) xfree(req->partition); xfree(req->node_inx); xfree(req->wckey); + xfree(req->gres_alloc); + xfree(req->gres_req); + xfree(req->gres_used); } } @@ -199,9 +202,9 @@ static int _setup_job_start_msg(dbd_job_start_msg_t *req, req->wckey = xstrdup(job_ptr->wckey); req->uid = job_ptr->user_id; req->qos_id = job_ptr->qos_id; - req->gres_alloc = job_ptr->gres_alloc; - req->gres_req = job_ptr->gres_req; - req->gres_used = job_ptr->gres_used; + req->gres_alloc = xstrdup(job_ptr->gres_alloc); + req->gres_req = xstrdup(job_ptr->gres_req); + req->gres_used = xstrdup(job_ptr->gres_used); return SLURM_SUCCESS; } -- GitLab