d0942d5563ca2fdd0170c4730bb6bf1ecc8258ea
braney
  Thu Aug 27 09:16:16 2026 -0700
quickLift: take out the unused visibility string, refs #38032

trackHubBuild and walkTree never wrote visDy.  hgConvert allocated it, passed it
down, then reassigned it inside the chain loop, leaking a dyString per chain.

diff --git src/hg/inc/trackHub.h src/hg/inc/trackHub.h
index f7354f116a4..8e7b5c4e843 100644
--- src/hg/inc/trackHub.h
+++ src/hg/inc/trackHub.h
@@ -229,30 +229,30 @@
  * return an slPair of value and label suitable for making a select/menu option. */
 
 void hubCheckBigDataUrl(struct trackHub *hub, struct trackHubGenome *genome,
     struct trackDb *tdb);
 /* Check remote file exists and is of correct type. Wrap this in error catcher */
 
 struct dbDb *trackHubGetPcrServers();
 /* Look through attached trackHubs to see which of them have "isPcr" line in them. */
 
 boolean trackHubGetPcrParams(char *database, char **pHost, char **pPort, char **pGenomeDataDir);
 /* Get the isPcr params from a trackHub genome. */
 
 struct trackHubGenome *trackHubGetGenomeUndecorated(char *database);
 /* Get the genome structure for an undecorated genome name. */
 
-char *trackHubBuild(char *db, struct cart *cart, struct dyString *visDy, struct trackDb **badList);
+char *trackHubBuild(char *db, struct cart *cart, struct trackDb **badList);
 /* Build a track hub using trackDb and the cart. */
 
 struct grp *readGroupRa(char *groupFileName);
 /* Read in the ra file that describes the groups in an assembly hub. */
 
 struct trackDb *trackHubAddTracksGenome(struct trackHubGenome *hubGenome);
 /* Load up stuff from data hub and return list. */
 
 boolean trackHubIsValidSeqName(char *name);
 /* Return TRUE if name is a valid sequence name: non-empty, starts with a
  * letter or digit, and contains only [A-Za-z0-9._-]. */
 
 #endif /* TRACKHUB_H */