diff --git a/src/common/slurm_protocol_pack.c b/src/common/slurm_protocol_pack.c
index 1614634f79ad21fea8bb664a1a1d4ff7ffbe125c..b6b3103541c5608b95bc44b6e2062bdb7ab4d757 100644
--- a/src/common/slurm_protocol_pack.c
+++ b/src/common/slurm_protocol_pack.c
@@ -13854,7 +13854,6 @@ _pack_assoc_mgr_info_request_msg(assoc_mgr_info_request_msg_t *msg,
 			packstr(tmp_info, buffer);
 		list_iterator_destroy(itr);
 	}
-	count = NO_VAL;
 
 	pack32(msg->flags, buffer);
 
diff --git a/src/plugins/priority/basic/priority_basic.c b/src/plugins/priority/basic/priority_basic.c
index 10ed3c737722287ff0e4187ea5a7bad434d754fe..95af7941894c8d505be8db38697fe8ab1793f27f 100644
--- a/src/plugins/priority/basic/priority_basic.c
+++ b/src/plugins/priority/basic/priority_basic.c
@@ -177,7 +177,7 @@ extern void priority_p_job_end(struct job_record *job_ptr)
 	uint64_t time_limit_secs = (uint64_t)job_ptr->time_limit * 60;
 	slurmdb_assoc_rec_t *assoc_ptr;
 	int i;
-	uint64_t unused_tres_run_secs[slurmctld_tres_cnt];
+	uint64_t *unused_tres_run_secs;
 	assoc_mgr_lock_t locks = { NO_LOCK, WRITE_LOCK, NO_LOCK,
 				   WRITE_LOCK, NO_LOCK, NO_LOCK, NO_LOCK };
 
@@ -185,6 +185,7 @@ extern void priority_p_job_end(struct job_record *job_ptr)
 	if (job_ptr->end_time >= job_ptr->start_time + time_limit_secs)
 		return;
 
+	unused_tres_run_secs = xmalloc(sizeof(uint64_t) * slurmctld_tres_cnt);
 	for (i=0; i<slurmctld_tres_cnt; i++) {
 		unused_tres_run_secs[i] =
 			(uint64_t)(job_ptr->start_time +
@@ -241,6 +242,7 @@ extern void priority_p_job_end(struct job_record *job_ptr)
 		assoc_ptr = assoc_ptr->usage->parent_assoc_ptr;
 	}
 	assoc_mgr_unlock(&locks);
+	xfree(unused_tres_run_secs);
 
 	return;
 }
diff --git a/src/scontrol/update_job.c b/src/scontrol/update_job.c
index b2ed8f190a3a8f35a73002db7fbf8b04b3de6943..0d4d6fca7507ab932ec71eb03f1aeb2dd3e7ea79 100644
--- a/src/scontrol/update_job.c
+++ b/src/scontrol/update_job.c
@@ -736,12 +736,11 @@ scontrol_update_job (int argc, char *argv[])
 			job_msg.nice = NICE_OFFSET + 100;
 			update_cnt++;
 			continue;
-		} else if (! val) {
+		} else if (!val && argv[i + 1]) {
 			tag = argv[i];
-			val = argv[i + 1];
-			++i;
-			if (val)
-				vallen = strlen(val);
+			taglen = strlen(tag);
+			val = argv[++i];
+			vallen = strlen(val);
 		} else {
 			exit_code = 1;
 			fprintf (stderr, "Invalid input: %s\n", argv[i]);
diff --git a/src/slurmctld/acct_policy.c b/src/slurmctld/acct_policy.c
index 62ee310f292a3c7898fdf3ba9b0a67593b56df48..99cb2be6201ea1dfca25c0f32620d08e8750f275 100644
--- a/src/slurmctld/acct_policy.c
+++ b/src/slurmctld/acct_policy.c
@@ -1665,9 +1665,13 @@ static int _qos_job_runnable_post_select(struct job_record *job_ptr,
 					   qos_out_ptr->max_tres_pn_ctld,
 					   job_ptr->limit_set.tres,
 					   1, 1)) {
+		uint64_t req_per_node;
 		xfree(job_ptr->state_desc);
 		job_ptr->state_reason = get_tres_state_reason(
 			tres_pos, WAIT_QOS_MAX_UNK_PER_NODE);
+		req_per_node = tres_req_cnt[tres_pos];
+		if (tres_req_cnt[TRES_ARRAY_NODE] > 1)
+			req_per_node /= tres_req_cnt[TRES_ARRAY_NODE];
 		debug2("job %u is being held, "
 		       "QOS %s min tres(%s) per node "
 		       "request %"PRIu64" exceeds "
@@ -1675,7 +1679,7 @@ static int _qos_job_runnable_post_select(struct job_record *job_ptr,
 		       job_ptr->job_id,
 		       qos_ptr->name,
 		       assoc_mgr_tres_name_array[tres_pos],
-		       tres_req_cnt[tres_pos] / tres_req_cnt[TRES_ARRAY_NODE],
+		       req_per_node,
 		       qos_ptr->max_tres_pn_ctld[tres_pos]);
 		rc = false;
 		goto end_it;
@@ -2484,11 +2488,6 @@ extern bool acct_policy_job_runnable_post_select(
 		job_ptr->state_reason = WAIT_NO_REASON;
 	}
 
-	/* Sanity check, you have to have at least 1 node, this
-	 * really is here to avoid a clang error. */
-	if (!tres_req_cnt[TRES_ARRAY_NODE])
-		tres_req_cnt[TRES_ARRAY_NODE] = 1;
-
 	/* clang needs this memset to avoid a warning */
 	memset(tres_run_mins, 0, sizeof(tres_run_mins));
 	memset(tres_usage_mins, 0, sizeof(tres_usage_mins));