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;