From 7cdaee6fd805c7b3987f96015490ab0fb00fbdd7 Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Mon, 23 Apr 2007 15:57:42 +0000
Subject: [PATCH] Fix overwriting of env vars in jobcomp/script (losing UID and
 JOBID).

---
 src/plugins/jobcomp/script/jobcomp_script.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/plugins/jobcomp/script/jobcomp_script.c b/src/plugins/jobcomp/script/jobcomp_script.c
index 09c62ef784f..f58cd420851 100644
--- a/src/plugins/jobcomp/script/jobcomp_script.c
+++ b/src/plugins/jobcomp/script/jobcomp_script.c
@@ -178,14 +178,17 @@ static char ** _create_environment(char *job, char *user, char *job_name,
 	len += strlen(node_list)+7;
         len += strlen(submit)+7;
         len += strlen(batch)+6;
+	/* Add new entries here as need and increase ENV_COUNT */
+#define ENV_COUNT 13
 #ifdef _PATH_STDPATH
 	len += strlen(_PATH_STDPATH)+6;
 #endif
-	len += (13*sizeof(char *));
+	len += (ENV_COUNT * sizeof(char *));
 
-	if(!(envptr = (char **)try_xmalloc(len))) return NULL;
+	if(!(envptr = (char **)try_xmalloc(len)))
+		return NULL;
 
-	ptr = (char *)envptr + (11*sizeof(char *));
+	ptr = (char *)envptr + (ENV_COUNT * sizeof(char *));
 
 	envptr[0] = ptr;
 	memcpy(ptr,"JOBID=",6);
-- 
GitLab