b1470d6f462f975727df99a576b1b7ec72d05491 angie Fri Aug 27 12:44:36 2021 -0700 Fix valgrind warning -- I didn't realize safencpy adds a null byte. diff --git src/hg/hgPhyloPlace/treeToAuspiceJson.c src/hg/hgPhyloPlace/treeToAuspiceJson.c index 47f1c44..774e698 100644 --- src/hg/hgPhyloPlace/treeToAuspiceJson.c +++ src/hg/hgPhyloPlace/treeToAuspiceJson.c @@ -482,31 +482,31 @@ if (isNotEmpty(bigGenePredFile) && fileExists(bigGenePredFile)) { struct bbiFile *bbi = bigBedFileOpen(bigGenePredFile); struct lm *lm = lmInit(0); struct bigBedInterval *bb, *bbList = bigBedIntervalQuery(bbi, chrom, 0, chromSize, 0, lm); for (bb = bbList; bb != NULL; bb = bb->next) { struct genePredExt *gp = genePredFromBigGenePred(chrom, bb); if (gp->strand[0] != '+') errAbort("getGeneInfoList: strand must be '+' but got '%s' for gene %s", gp->strand, gp->name); int txLen = 0; int ex; for (ex = 0; ex < gp->exonCount; ex++) txLen += (gp->exonEnds[ex] - gp->exonStarts[ex]); - char *seq = needMem(txLen); + char *seq = needMem(txLen+1); int txOffset = 0; for (ex = 0; ex < gp->exonCount; ex++) { int exonLen = gp->exonEnds[ex] - gp->exonStarts[ex]; safencpy(seq+txOffset, txLen+1-txOffset, refGenome->dna+gp->exonStarts[ex], exonLen); txOffset += exonLen; } struct geneInfo *gi; AllocVar(gi); gi->psl = genePredToPsl((struct genePred *)gp, chromSize, txLen); gi->txSeq = newDnaSeq(seq, txLen, gp->name2); slAddHead(&geneInfoList, gi); } lmCleanup(&lm); bigBedFileClose(&bbi);