From ba0c6af8c5a7900aeea80388a1a313f74df76f8f Mon Sep 17 00:00:00 2001
From: Danny Auble <da@schedmd.com>
Date: Mon, 19 Sep 2016 15:25:29 -0600
Subject: [PATCH] Remove xmallocs from the fed_mgr ping_thread

---
 src/slurmctld/fed_mgr.c | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

diff --git a/src/slurmctld/fed_mgr.c b/src/slurmctld/fed_mgr.c
index 33eb80f9eff..3339d9ebb01 100644
--- a/src/slurmctld/fed_mgr.c
+++ b/src/slurmctld/fed_mgr.c
@@ -196,36 +196,31 @@ static int _send_recv_msg(slurmdb_cluster_rec_t *cluster, slurm_msg_t *req,
 static int _ping_controller(slurmdb_cluster_rec_t *cluster)
 {
 	int rc = SLURM_SUCCESS;
-	slurm_msg_t *req_msg;
-	slurm_msg_t *resp_msg;
+	slurm_msg_t req_msg;
+	slurm_msg_t resp_msg;
 
-	req_msg  = xmalloc(sizeof(slurm_msg_t));
-	resp_msg = xmalloc(sizeof(slurm_msg_t));
-
-	slurm_msg_t_init(req_msg);
-	slurm_msg_t_init(resp_msg);
-	req_msg->msg_type = REQUEST_PING;
+	slurm_msg_t_init(&req_msg);
+	slurm_msg_t_init(&resp_msg);
+	req_msg.msg_type = REQUEST_PING;
 
 	if (slurmctld_conf.debug_flags & DEBUG_FLAG_FEDR)
 		info("pinging %s(%s:%d)", cluster->name, cluster->control_host,
 		     cluster->control_port);
 
-	if ((rc = _send_recv_msg(cluster, req_msg, resp_msg))) {
+	if ((rc = _send_recv_msg(cluster, &req_msg, &resp_msg))) {
 		error("failed to ping %s(%s:%d)",
 		      cluster->name, cluster->control_host,
 		      cluster->control_port);
-	} else if ((rc = slurm_get_return_code(resp_msg->msg_type,
-					       resp_msg->data)))
+	} else if ((rc = slurm_get_return_code(resp_msg.msg_type,
+					       resp_msg.data)))
 		error("ping returned error from %s(%s:%d)",
 		      cluster->name, cluster->control_host,
 		      cluster->control_port);
 	if (slurmctld_conf.debug_flags & DEBUG_FLAG_FEDR)
 		info("finished pinging %s(%s:%d)", cluster->name,
 		     cluster->control_host, cluster->control_port);
-
-	slurm_free_msg(req_msg);
-	slurm_free_msg(resp_msg);
-
+	slurm_free_msg_members(&req_msg);
+	slurm_free_msg_members(&resp_msg);
 	return rc;
 }
 
-- 
GitLab