9c73c955cf276fb01fcf018ac8523ca75410f4ca markd Mon Aug 17 12:21:31 2015 -0400 pslClone needs to check if qSequence/tSequence fields are allocated before referencing (no redmine) diff --git src/lib/psl.c src/lib/psl.c index 377bd47..ff37326 100644 --- src/lib/psl.c +++ src/lib/psl.c @@ -1974,20 +1974,22 @@ } struct psl* pslClone(struct psl *psl) /* clone a psl */ { struct psl* pslCp = pslNew(psl->qName, psl->qSize, psl->qStart, psl->qEnd, psl->tName, psl->tSize, psl->tStart, psl->tEnd, psl->strand, psl->blockCount, ((psl->tSequence != NULL) ? PSL_XA_FORMAT : 0)); int iBlk; for (iBlk = 0; iBlk < psl->blockCount; iBlk++) { pslCp->blockSizes[iBlk] = psl->blockSizes[iBlk]; pslCp->qStarts[iBlk] = psl->qStarts[iBlk]; pslCp->tStarts[iBlk] = psl->tStarts[iBlk]; + if (psl->qSequence == NULL) pslCp->qSequence[iBlk] = cloneString(psl->qSequence[iBlk]); + if (psl->tSequence == NULL) pslCp->tSequence[iBlk] = cloneString(psl->tSequence[iBlk]); } return pslCp; }