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