51aa3926269ede11330a0564c6f67be38b06f825
galt
  Fri Apr 22 12:47:17 2011 -0700
blat segfault fix for maxIntron <= 11 when tileSize <= 11
diff --git src/jkOwnLib/supStitch.c src/jkOwnLib/supStitch.c
index c7100fd..507af5d 100644
--- src/jkOwnLib/supStitch.c
+++ src/jkOwnLib/supStitch.c
@@ -773,30 +773,35 @@
     ffCat(&ffList, &ffl->ff);
     }
 slFreeList(&bundle->ffList);
 
 ffAliSort(&ffList, ffCmpHitsNeedleFirst);
 ffList = ffMergeClose(ffList, qSeq->dna, genoSeq->dna);
 
 while (ffList != NULL)
     {
     ssFindBest(ffList, qSeq, genoSeq, stringency, 
     	bundle->isProt, bundle->t3List,
     	&bestPath, &score, &ffList);
 
     bestPath = ffMergeNeedleAlis(bestPath, TRUE);
     bestPath = ffRemoveEmptyAlis(bestPath, TRUE);
+    if (!bestPath)
+	{
+	ffFreeAli(&ffList);
+	break;
+	}
     bestPath = ffMergeHayOverlaps(bestPath);
     bestPath = ffRemoveEmptyAlis(bestPath, TRUE);
     bestPath = forceMonotonic(bestPath, qSeq, genoSeq, stringency,
     	bundle->isProt, bundle->t3List);
 
     if (firstTime && stringency == ffCdna && bundle->avoidFuzzyFindKludge == FALSE)
 	{
 	/* Only look for middle exons the first time.  Next times
 	 * this might regenerate most of the first alignment... */
 	bestPath = smallMiddleExons(bestPath, bundle, stringency);
 	}
     bestPath = ffMergeNeedleAlis(bestPath, TRUE);
     if (ffIntronMax != ffIntronMaxDefault)
 	{
 	bestPath = cutAtBigIntrons(bestPath, ffIntronMax, &score, stringency,