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;
 }