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