e9c1e6b69045a4987f9b1107a5c7ecfcecd8fedf
markd
  Fri Dec 24 09:33:48 2021 -0800
do not SEGV on an empty PSL file

diff --git src/hg/utils/pslToBigPsl/pslToBigPsl.c src/hg/utils/pslToBigPsl/pslToBigPsl.c
index 0bd85d0..671f58b 100644
--- src/hg/utils/pslToBigPsl/pslToBigPsl.c
+++ src/hg/utils/pslToBigPsl/pslToBigPsl.c
@@ -146,31 +146,31 @@
 	bigPsl.thickEnd = genomeCds.end;
 	}
     }
 
 bigPslOutput(&bigPsl, fp, '\t', '\n');
 }
 
 
 void pslToBigPsl(char *pslFile, char *bigPslOutput, char *fastaFile, char *cdsFile)
 /* pslToBigPsl - converts psl to bigPsl. */
 {
 struct psl *psl = pslLoadAll(pslFile);
 struct hash *fastHash = NULL;
 struct hash *cdsHash = NULL;
 
-if (fastaFile != NULL)
+if ((fastaFile != NULL) && (psl != NULL))
     {
     struct dnaSeq  *seqs = pslIsProtein(psl) ?faReadAllPep(fastaFile) : faReadAllDna(fastaFile); 
     fastHash = newHash(10);
     for(; seqs; seqs = seqs->next)
 	hashAdd(fastHash, seqs->name, seqs);
     }
 
 if (cdsFile != NULL)
     {
     cdsHash = newHash(10);
     struct lineFile *lf = netLineFileOpen(cdsFile);
     char *row[2];
     while (lineFileRow(lf, row))
 	{
         hashAdd(cdsHash, row[0], cloneString(row[1]));