3aab1fb985b30c5750b241adc4d2e1cc2402b365
angie
  Mon Aug 29 15:05:39 2016 -0700
Adding cloneString to avoid trouble in case anybody ever frees a track hub chromInfo list.

diff --git src/hg/lib/trackHub.c src/hg/lib/trackHub.c
index f1533aa..ff68898 100644
--- src/hg/lib/trackHub.c
+++ src/hg/lib/trackHub.c
@@ -323,31 +323,31 @@
 /* Return a chromInfo structure for all the chroms in this database. */
 {
 struct trackHubGenome *genome = trackHubGetGenome(database);
 if (genome == NULL)
     return NULL;
 
 if (genome->tbf == NULL)
     genome->tbf = twoBitOpen(genome->twoBitPath);
 struct chromInfo *ci, *ciList = NULL;
 struct slName *chromList = twoBitSeqNames(genome->twoBitPath);
 
 for(; chromList; chromList = chromList->next)
     {
     AllocVar(ci);
     ci->chrom = cloneString(chromList->name);
-    ci->fileName = genome->twoBitPath;
+    ci->fileName = cloneString(genome->twoBitPath);
     ci->size = twoBitSeqSize(genome->tbf, chromList->name);
     slAddHead(&ciList, ci);
     }
 slFreeList(&chromList);
 return ciList;
 }
 
 static char *getRequiredGrpSetting(struct hash *hash, char *name, struct lineFile *lf)
 /* Grab a group setting out of the group hash.  errAbort if not found. */
 {
 char *str;
 if ((str = hashFindVal(hash, name)) == NULL) 
     errAbort("missing required setting '%s' for group on line %d in file %s\n",
 	name, lf->lineIx, lf->fileName);
 return str;