diff --git a/src/scontrol/create_res.c b/src/scontrol/create_res.c
index 99c770319fdec0b9e6b43f062760121db8f92649..cd382a83515f4c134df934931f3a636acf1d38b4 100644
--- a/src/scontrol/create_res.c
+++ b/src/scontrol/create_res.c
@@ -75,7 +75,7 @@ static char * _process_plus_minus(char plus_or_minus, char *src)
 }
 
 static int _parse_resv_node_cnt(resv_desc_msg_t *resv_msg_ptr, char *val,
-				  bool from_tres)
+				bool from_tres)
 {
 	char *endptr = NULL, *node_cnt, *tok, *ptrptr = NULL;
 	int node_inx = 0;
@@ -89,13 +89,11 @@ static int _parse_resv_node_cnt(resv_desc_msg_t *resv_msg_ptr, char *val,
 		if ((endptr != NULL) &&
 		    ((endptr[0] == 'k') ||
 		     (endptr[0] == 'K'))) {
-			resv_msg_ptr->node_cnt[node_inx] *=
-				1024;
+			resv_msg_ptr->node_cnt[node_inx] *= 1024;
 		} else if ((endptr != NULL) &&
 			   ((endptr[0] == 'm') ||
 			    (endptr[0] == 'M'))) {
-			resv_msg_ptr->node_cnt[node_inx] *=
-				1024 * 1024;
+			resv_msg_ptr->node_cnt[node_inx] *= 1024 * 1024;
 		} else if ((endptr == NULL) ||
 			   (endptr[0] != '\0') ||
 			   (tok[0] == '\0')) {
@@ -116,7 +114,7 @@ static int _parse_resv_node_cnt(resv_desc_msg_t *resv_msg_ptr, char *val,
 }
 
 static int _parse_resv_core_cnt(resv_desc_msg_t *resv_msg_ptr, char *val,
-				  bool from_tres)
+				bool from_tres)
 {
 
 	char *endptr = NULL, *core_cnt, *tok, *ptrptr = NULL;
@@ -136,12 +134,12 @@ static int _parse_resv_core_cnt(resv_desc_msg_t *resv_msg_ptr, char *val,
 			return SLURM_ERROR;
 		}
 	} else if (strcasestr(type, "cons_res") == NULL) {
-			error("CoreCnt or CPUCnt is only "
-			      "suported when "
-			      "SelectType includes "
-			      "select/cons_res");
-			xfree(type);
-			return SLURM_ERROR;
+		error("CoreCnt or CPUCnt is only "
+		      "suported when "
+		      "SelectType includes "
+		      "select/cons_res");
+		xfree(type);
+		return SLURM_ERROR;
 	}
 
 	xfree(type);
@@ -153,8 +151,8 @@ static int _parse_resv_core_cnt(resv_desc_msg_t *resv_msg_ptr, char *val,
 		resv_msg_ptr->core_cnt[node_inx] =
 			strtol(tok, &endptr, 10);
 		if ((endptr == NULL) ||
-		   (endptr[0] != '\0') ||
-		   (tok[0] == '\0')) {
+		    (endptr[0] != '\0') ||
+		    (tok[0] == '\0')) {
 			exit_code = 1;
 			if (from_tres)
 				error("Invalid TRES core count %s", val);
@@ -206,10 +204,10 @@ static int _parse_resv_tres(char *val, resv_desc_msg_t  *resv_msg_ptr,
 {
 	int i, ret, len;
 	char *tres_bb = NULL, *tres_license = NULL,
-	     *tres_corecnt = NULL, *tres_nodecnt = NULL,
-	     *token, *type = NULL, *saveptr1 = NULL,
-	     *value_str = NULL, *name = NULL, *compound = NULL,
-	     *tmp;
+		*tres_corecnt = NULL, *tres_nodecnt = NULL,
+		*token, *type = NULL, *saveptr1 = NULL,
+		*value_str = NULL, *name = NULL, *compound = NULL,
+		*tmp;
 	bool discard, first;
 
 	*free_tres_license = 0;
@@ -223,8 +221,8 @@ static int _parse_resv_tres(char *val, resv_desc_msg_t  *resv_msg_ptr,
 		compound = strtok_r(token, "=", &value_str);
 
 		if (!value_str || !*value_str) {
-			error("TRES component '%s' has an invalid value",
-			      token);
+			error("TRES component '%s' has an invalid value '%s'",
+			      type, token);
 			goto error;
 		}
 
@@ -239,7 +237,7 @@ static int _parse_resv_tres(char *val, resv_desc_msg_t  *resv_msg_ptr,
 
 		if (!strcasecmp(type, "license")) {
 			if (tres_license && tres_license[0] != '\0')
-				 xstrcatchar(tres_license, ',');
+				xstrcatchar(tres_license, ',');
 			xstrfmtcat(tres_license, "%s:%s", name, value_str);
 			token = strtok_r(NULL, ",", &saveptr1);
 			if (tmp)
@@ -247,7 +245,7 @@ static int _parse_resv_tres(char *val, resv_desc_msg_t  *resv_msg_ptr,
 
 		} else if (strcasecmp(type, "bb") == 0) {
 			if (tres_bb && tres_bb[0] != '\0')
-				 xstrcatchar(tres_bb, ',');
+				xstrcatchar(tres_bb, ',');
 			xstrfmtcat(tres_bb, "%s:%s", name, value_str);
 			token = strtok_r(NULL, ",", &saveptr1);
 			if (tmp)
@@ -267,14 +265,14 @@ static int _parse_resv_tres(char *val, resv_desc_msg_t  *resv_msg_ptr,
 							goto error;
 						} else
 							discard = true;
-							break;
+						break;
 					}
 				}
 				first = false;
 				if (!discard) {
 					if (tres_corecnt && tres_corecnt[0]
 					    != '\0')
-						 xstrcatchar(tres_corecnt, ',');
+						xstrcatchar(tres_corecnt, ',');
 					xstrcat(tres_corecnt, value_str);
 
 					token = strtok_r(NULL, ",", &saveptr1);
@@ -284,7 +282,7 @@ static int _parse_resv_tres(char *val, resv_desc_msg_t  *resv_msg_ptr,
 
 		} else if (strcasecmp(type, "node") == 0) {
 			if (tres_nodecnt && tres_nodecnt[0] != '\0')
-				 xstrcatchar(tres_nodecnt, ',');
+				xstrcatchar(tres_nodecnt, ',');
 			xstrcat(tres_nodecnt, value_str);
 			token = strtok_r(NULL, ",", &saveptr1);
 		} else {
@@ -296,17 +294,19 @@ static int _parse_resv_tres(char *val, resv_desc_msg_t  *resv_msg_ptr,
 	}
 
 	if (tres_corecnt && tres_corecnt[0] != '\0') {
-		*free_tres_corecnt = 1;
 		ret = _parse_resv_core_cnt(resv_msg_ptr, tres_corecnt, true);
-		if (ret < 0)
+		xfree(tres_corecnt);
+		if (ret != SLURM_SUCCESS)
 			goto error;
+		*free_tres_corecnt = 1;
 	}
 
 	if (tres_nodecnt && tres_nodecnt[0] != '\0') {
 		ret = _parse_resv_node_cnt(resv_msg_ptr, tres_nodecnt, true);
-		*free_tres_nodecnt = 1;
-		if (ret < 0)
+		xfree(tres_nodecnt);
+		if (ret != SLURM_SUCCESS)
 			goto error;
+		*free_tres_nodecnt = 1;
 	}
 
 	if (tres_license && tres_license[0] != '\0') {
@@ -319,18 +319,11 @@ static int _parse_resv_tres(char *val, resv_desc_msg_t  *resv_msg_ptr,
 		*free_tres_bb = 1;
 	}
 
-	if (tres_corecnt);
-		xfree(tres_corecnt);
-	if (tres_nodecnt);
-		xfree(tres_nodecnt);
-
 	return SLURM_SUCCESS;
 
 error:
-	if (tres_nodecnt)
-		xfree(tres_nodecnt);
-	if (tres_corecnt)
-		xfree(tres_corecnt);
+	xfree(tres_nodecnt);
+	xfree(tres_corecnt);
 	exit_code = 1;
 	return SLURM_ERROR;
 }
@@ -338,7 +331,7 @@ error:
 
 /*
  * scontrol_parse_res_options   parse options for creating or updating a
-                                reservation
+ reservation
  * IN argc - count of arguments
  * IN argv - list of arguments
  * IN msg  - a string to append to any error message
@@ -520,7 +513,7 @@ scontrol_update_res(int argc, char *argv[])
 	resv_desc_msg_t   resv_msg;
 	int err, ret = 0;
 	int free_user_str = 0, free_acct_str = 0, free_tres_license = 0,
-	    free_tres_bb = 0, free_tres_corecnt = 0, free_tres_nodecnt = 0;
+		free_tres_bb = 0, free_tres_corecnt = 0, free_tres_nodecnt = 0;
 
 	slurm_init_resv_desc_msg (&resv_msg);
 	err = scontrol_parse_res_options(argc, argv, "No reservation update.",
@@ -576,7 +569,7 @@ scontrol_create_res(int argc, char *argv[])
 	resv_desc_msg_t resv_msg;
 	char *new_res_name = NULL;
 	int free_user_str = 0, free_acct_str = 0, free_tres_license = 0,
-	    free_tres_bb = 0, free_tres_corecnt = 0, free_tres_nodecnt = 0;
+		free_tres_bb = 0, free_tres_corecnt = 0, free_tres_nodecnt = 0;
 	int err, ret = 0;
 
 	slurm_init_resv_desc_msg (&resv_msg);