8b6ad29403132f13b331261b582026b92aa3ed4c
chmalee
  Tue May 16 16:14:25 2023 -0700
errAbort early, which causes hubCheck to print a message, when a genome name has white space characters, refs #31108

diff --git src/hg/lib/trackHub.c src/hg/lib/trackHub.c
index dcbbfdb..d1f104d 100644
--- src/hg/lib/trackHub.c
+++ src/hg/lib/trackHub.c
@@ -616,30 +616,32 @@
 while ((ra = raNextRecord(lf)) != NULL)
     {
     // allow that trackDb+hub+genome is in one single file
     if (hashFindVal(ra, "hub"))
         continue;
     if (hashFindVal(ra, "track"))
         break;
 
     char *twoBitPath = hashFindVal(ra, "twoBitPath");
     char *twoBitBptUrl = hashFindVal(ra, "twoBitBptUrl");
     char *genome, *trackDb;
     if (twoBitPath != NULL)
 	genome = addHubName(hashFindVal(ra, "genome"), hub->name);
     else
 	genome = hashFindVal(ra, "genome");
+    if (hasWhiteSpace(genome))
+        errAbort("Bad genome name: \"%s\". Only alpha-numeric characters and \"_\" are allowed ([A-Za-z0-9_]).", genome);
     if (hub->defaultDb == NULL)
 	hub->defaultDb = genome;
     if (genome == NULL)
         badGenomeStanza(lf);
     if (hashLookup(hash, genome) != NULL)
         errAbort("Duplicate genome %s in stanza ending line %d of %s",
 		genome, lf->lineIx, lf->fileName);
     if (singleFile == NULL)
         {
         trackDb = hashFindVal(ra, "trackDb");
         if (trackDb == NULL)
             badGenomeStanza(lf);
         }
     else
         trackDb = singleFile;