b57fa67c3b39df42ccbcfe7557256189e394ccc2
braney
  Thu Jan 19 15:19:41 2017 -0800
fixes #18696   crashing trying to revComp missing sequence

diff --git src/hg/hgTracks/bigBedTrack.c src/hg/hgTracks/bigBedTrack.c
index ff9b459..2a5f1e8 100644
--- src/hg/hgTracks/bigBedTrack.c
+++ src/hg/hgTracks/bigBedTrack.c
@@ -150,31 +150,31 @@
 track->bbiFile = NULL;
 
 for (bb = bbList; bb != NULL; bb = bb->next)
     {
     struct linkedFeatures *lf;
     if (sameString(track->tdb->type, "bigPsl"))
 	{
 	char *seq, *cds;
 	struct psl *psl = pslFromBigPsl(chromName, bb, seqTypeField,  &seq, &cds); 
 	int sizeMul =  pslIsProtein(psl) ? 3 : 1;
 	boolean isXeno = 0;  // just affects grayIx
 	boolean nameGetsPos = FALSE; // we want the name to stay the name
 
 	lf = lfFromPslx(psl, sizeMul, isXeno, nameGetsPos, track);
 	lf->original = psl;
-	if (lf->orientation == -1)
+	if ((seq != NULL) && (lf->orientation == -1))
 	    reverseComplement(seq, strlen(seq));
 	lf->extra = seq;
 	lf->cds = cds;
 	}
     else
 	{
         char startBuf[16], endBuf[16];
         char *bedRow[32];
 
         bigBedIntervalToRow(bb, chromName, startBuf, endBuf, bedRow, ArraySize(bedRow));
 	struct bed *bed = bedLoadN(bedRow, fieldCount);
 	lf = bedMungToLinkedFeatures(&bed, tdb, fieldCount,
 	    scoreMin, scoreMax, useItemRgb);
 	}