4e346bd64d3157d7add9043b93ebf124cdbed1be
angie
  Thu Jun 23 14:43:07 2022 -0700
Prevent SEGV caused by trying to convert components with no sequence, e.g. from 'e' lines with double-sided insertion.  refs #29636

diff --git src/hg/mouseStuff/mafToPsl/mafToPsl.c src/hg/mouseStuff/mafToPsl/mafToPsl.c
index 7c3bbc5..1332d24 100644
--- src/hg/mouseStuff/mafToPsl/mafToPsl.c
+++ src/hg/mouseStuff/mafToPsl/mafToPsl.c
@@ -67,31 +67,31 @@
     if (psl->strand[1] == '-')
         pslRc(psl);
     psl->strand[1] = '\0';
     pslTabOut(psl, pslFh);
     }
 }
 
 
 void mafAliToPsl(char *querySrc, char *targetSrc,
                  struct mafAli *maf, FILE *pslFh)
 /* convert a MAF alignment to a psl */
 {
 struct mafComp *qc = mafMayFindComponentDb(maf, querySrc);
 struct mafComp *tc = mafMayFindComponentDb(maf, targetSrc);
 
-if ((qc != NULL) && (tc != NULL))
+if ((qc != NULL) && (tc != NULL) && (qc->text != NULL) && (tc->text != NULL))
     convertToPsl(qc, tc, pslFh);
 }
 
 void mafToPsl(char *querySrc, char *targetSrc, char *inName, char *outName)
 /* mafToPsl - Convert maf to psl format. */
 {
 struct mafFile *mf = mafOpen(inName);
 FILE *pslFh = mustOpen(outName, "w");
 struct mafAli *maf;
 
 while ((maf = mafNext(mf)) != NULL)
     {
     mafAliToPsl(querySrc, targetSrc, maf, pslFh);
     mafAliFree(&maf);
     }