From 4847a2ed2d96363e65834b5f12fdcf94d85e096b Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Tue, 14 Nov 2006 18:20:38 +0000 Subject: [PATCH] Plug some memory leaks --- src/common/slurm_selecttype_info.c | 11 ++++++----- src/slurmctld/job_mgr.c | 1 + src/slurmctld/ping_nodes.c | 10 ++++++---- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/common/slurm_selecttype_info.c b/src/common/slurm_selecttype_info.c index 0c3fcd530d4..a79b4b53dcf 100644 --- a/src/common/slurm_selecttype_info.c +++ b/src/common/slurm_selecttype_info.c @@ -50,10 +50,10 @@ int parse_select_type_param(char *select_type_parameters, select_type_plugin_info_t *param) { int rc = SLURM_SUCCESS; - char *str_parameters; + char *str_parameters, *st_str = NULL; - char *st_str = xstrdup(select_type_parameters); + st_str = xstrdup(select_type_parameters); if ((str_parameters = strtok(st_str,",")) != NULL) { do { if (strcasecmp(str_parameters, "CR_Socket") == 0) { @@ -71,14 +71,15 @@ int parse_select_type_param(char *select_type_parameters, } else if (strcasecmp(str_parameters, "CR_CPU_Memory") == 0) { *param = CR_CPU_MEMORY; } else { - error( "Bad SelectType Parameter: %s\n", str_parameters ); + error("Bad SelectType Parameter: %s\n", + str_parameters ); rc = SLURM_ERROR; - xfree(str_parameters); + xfree(st_str); return rc; } } while ((str_parameters = strtok(NULL,","))); } - xfree(str_parameters); + xfree(st_str); return rc; } diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index 952f202208b..815b9434baf 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -224,6 +224,7 @@ void delete_job_details(struct job_record *job_entry) xfree(job_entry->details->in); xfree(job_entry->details->out); xfree(job_entry->details->work_dir); + xfree(job_entry->details->mc_ptr); xfree(job_entry->details); } diff --git a/src/slurmctld/ping_nodes.c b/src/slurmctld/ping_nodes.c index e498f6fd691..af18b3ee43a 100644 --- a/src/slurmctld/ping_nodes.c +++ b/src/slurmctld/ping_nodes.c @@ -237,9 +237,10 @@ void ping_nodes (void) ping_agent_args->node_count++; } - if (ping_agent_args->node_count == 0) + if (ping_agent_args->node_count == 0) { + hostlist_destroy(ping_agent_args->hostlist); xfree (ping_agent_args); - else { + } else { hostlist_uniq(ping_agent_args->hostlist); hostlist_ranged_string(ping_agent_args->hostlist, sizeof(host_str), host_str); @@ -248,9 +249,10 @@ void ping_nodes (void) agent_queue_request(ping_agent_args); } - if (reg_agent_args->node_count == 0) + if (reg_agent_args->node_count == 0) { + hostlist_destroy(reg_agent_args->hostlist); xfree (reg_agent_args); - else { + } else { hostlist_uniq(reg_agent_args->hostlist); hostlist_ranged_string(reg_agent_args->hostlist, sizeof(host_str), host_str); -- GitLab