diff --git a/src/common/node_conf.c b/src/common/node_conf.c index 89d2a6a77fa63d1a0a612e22cf189ad39456eed8..6c970ece1e9a4d70a66f6b52c59187a0a3b04eda 100644 --- a/src/common/node_conf.c +++ b/src/common/node_conf.c @@ -489,9 +489,9 @@ extern int build_all_nodeline_info (bool set_bitmap) config_ptr->real_memory = node->real_memory; config_ptr->tmp_disk = node->tmp_disk; config_ptr->weight = node->weight; - if (node->feature) + if (node->feature && node->feature[0]) config_ptr->feature = xstrdup(node->feature); - if (node->gres) + if (node->gres && node->gres[0]) config_ptr->gres = xstrdup(node->gres); rc = _build_single_nodeline_info(node, config_ptr); diff --git a/src/slurmctld/node_mgr.c b/src/slurmctld/node_mgr.c index bddc00b4f30dc37b6a9fbfa5ec6b83840744d1d4..a083a26af1dbf33758e134feb392c5738652508b 100644 --- a/src/slurmctld/node_mgr.c +++ b/src/slurmctld/node_mgr.c @@ -1132,7 +1132,8 @@ static int _update_node_features(char *node_names, char *features) } else if (tmp_cnt == config_cnt) { /* all nodes changed, update in situ */ xfree(config_ptr->feature); - config_ptr->feature = xstrdup(features); + if (features && features[0]) + config_ptr->feature = xstrdup(features); build_config_feature_list(config_ptr); } else { /* partial update, split config_record */ @@ -1140,7 +1141,8 @@ static int _update_node_features(char *node_names, char *features) if (first_new == NULL); first_new = new_config_ptr; xfree(new_config_ptr->feature); - new_config_ptr->feature = xstrdup(features); + if (features && features[0]) + new_config_ptr->feature = xstrdup(features); new_config_ptr->node_bitmap = bit_copy(tmp_bitmap); new_config_ptr->nodes = bitmap2node_name(tmp_bitmap); @@ -1205,7 +1207,8 @@ static int _update_node_gres(char *node_names, char *gres) } else if (tmp_cnt == config_cnt) { /* all nodes changed, update in situ */ xfree(config_ptr->gres); - config_ptr->gres = xstrdup(gres); + if (gres && gres[0]) + config_ptr->gres = xstrdup(gres); //FIXME build_config_feature_list(config_ptr); } else { /* partial update, split config_record */ @@ -1213,7 +1216,8 @@ static int _update_node_gres(char *node_names, char *gres) if (first_new == NULL); first_new = new_config_ptr; xfree(new_config_ptr->gres); - new_config_ptr->gres = xstrdup(gres); + if (gres && gres[0]) + new_config_ptr->gres = xstrdup(gres); new_config_ptr->node_bitmap = bit_copy(tmp_bitmap); new_config_ptr->nodes = bitmap2node_name(tmp_bitmap);