995b57436b88ab94ba85bb54491a983fa96c7f70
braney
  Sat Aug 23 16:01:24 2014 -0700
bigGenePred support in track hubs limping along #13861
diff --git src/lib/bigBed.c src/lib/bigBed.c
index 99a23d4..8548f2d 100644
--- src/lib/bigBed.c
+++ src/lib/bigBed.c
@@ -128,31 +128,31 @@
 int bigBedIntervalToRow(struct bigBedInterval *interval, char *chrom, char *startBuf, char *endBuf,
 	char **row, int rowSize)
 /* Convert bigBedInterval into an array of chars equivalent to what you'd get by
  * parsing the bed file. The startBuf and endBuf are used to hold the ascii representation of
  * start and end.  Note that the interval->rest string will have zeroes inserted as a side effect.
  */
 {
 int fieldCount = 3;
 sprintf(startBuf, "%u", interval->start);
 sprintf(endBuf, "%u", interval->end);
 row[0] = chrom;
 row[1] = startBuf;
 row[2] = endBuf;
 if (!isEmpty(interval->rest))
     {
-    int wordCount = chopByChar(interval->rest, '\t', row+3, rowSize-3);
+    int wordCount = chopByChar(cloneString(interval->rest), '\t', row+3, rowSize-3);
     fieldCount += wordCount;
     }
 return fieldCount;
 }
 
 static struct bbiInterval *bigBedCoverageIntervals(struct bbiFile *bbi,
 	char *chrom, bits32 start, bits32 end, struct lm *lm)
 /* Return intervals where the val is the depth of coverage. */
 {
 /* Get list of overlapping intervals */
 struct bigBedInterval *bi, *biList = bigBedIntervalQuery(bbi, chrom, start, end, 0, lm);
 if (biList == NULL)
     return NULL;
 
 /* Make a range tree that collects coverage. */