06c58384321c0d1737b23969036e3a417e137285 angie Wed Dec 11 10:47:19 2019 -0800 Forgot to check for NULL tdb -- 'trackTable' can be refSeqAli. Thx Chris Lee for finding problem. refs #24630, #24554 diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 34680d7..2acfb7c 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -7230,34 +7230,34 @@ bodyTn.forCgi); else puts("<FRAMESET COLS = \"13%,87% \" >"); printf(" <FRAME SRC=\"%s\" NAME=\"index\">\n", indexTn.forCgi); printf(" <FRAME SRC=\"%s\" NAME=\"body\">\n", bodyTn.forCgi); puts("<NOFRAMES><BODY></BODY></NOFRAMES>"); puts("</FRAMESET>"); puts("</HTML>\n"); exit(0); /* Avoid cartHtmlEnd. */ } static void getCdsStartAndStop(struct sqlConnection *conn, char *acc, char *trackTable, uint *retCdsStart, uint *retCdsEnd) /* Get cds start and stop, if available */ { -struct trackDb *tdb = hashMustFindVal(trackHash, trackTable); +struct trackDb *tdb = hashFindVal(trackHash, trackTable); // Note: this variable was previously named cdsTable but unfortunately the // hg/(inc|lib)/genbank.[hc] code uses the global var cdsTable! -char *tdbCdsTable = trackDbSetting(tdb, "cdsTable"); +char *tdbCdsTable = tdb ? trackDbSetting(tdb, "cdsTable") : NULL; if (isEmpty(tdbCdsTable) && startsWith("ncbiRefSeq", trackTable)) tdbCdsTable = "ncbiRefSeqCds"; if (isNotEmpty(tdbCdsTable) && hTableExists(database, tdbCdsTable)) { char query[256]; sqlSafef(query, sizeof(query), "select cds from %s where id = '%s'", tdbCdsTable, acc); char *cdsString = sqlQuickString(conn, query); if (isNotEmpty(cdsString)) genbankParseCds(cdsString, retCdsStart, retCdsEnd); } else if (sqlTableExists(conn, gbCdnaInfoTable)) { char accChopped[512]; safecpy(accChopped, sizeof(accChopped), acc); chopSuffix(accChopped);