diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c index 711f8f784f1c3010d83ebb838fb8252671cd0f6c..e88fdf7dae2ea35872a9736367afe0600c2f23cd 100644 --- a/src/slurmctld/controller.c +++ b/src/slurmctld/controller.c @@ -2620,7 +2620,7 @@ static bool _verify_clustername(void) { FILE *fp; char *filename = NULL; - char name[512]; + char name[512] = {0}; bool create_file = false; xstrfmtcat(filename, "%s/clustername", @@ -2628,7 +2628,10 @@ static bool _verify_clustername(void) if ((fp = fopen(filename, "r"))) { /* read value and compare */ - fgets(name, sizeof(name), fp); + if (!fgets(name, sizeof(name), fp)) { + error("%s: reading cluster name from clustername file", + __func__); + } fclose(fp); if (xstrcmp(name, slurmctld_conf.cluster_name)) { fatal("CLUSTER NAME MISMATCH.\n"