27612a60c0f8c1aefbe6ca7afcdf0c2deb73b98f angie Fri Mar 15 13:29:04 2019 -0700 Missing NULL check -- caused SEGV for next/prev item of custom tracks, for which hTrackDb() returns NULL. (hgwdev-only, introduced Feb. 28th) diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index 9bf9096..9147990 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -5775,31 +5775,31 @@ slAddHead(pTrackList, track); } } void loadFromTrackDb(struct track **pTrackList) /* Load tracks from database, consulting handler list. */ { char *trackNameFilter = cartOptionalString(cart, "hgt.trackNameFilter"); struct trackDb *tdbList; if(trackNameFilter == NULL) tdbList = hTrackDb(database); else { tdbList = hTrackDbForTrack(database, trackNameFilter); - if (tdbList->parent) // we want to give the composite parent a chance to load and set options + if (tdbList && tdbList->parent) // we want to give the composite parent a chance to load and set options { while(tdbList->parent) { if (tdbList->parent->subtracks == NULL) // we don't want to go up to a supertrack break; tdbList = tdbList->parent; } trackNameFilter = tdbList->track; } } addTdbListToTrackList(tdbList, trackNameFilter, pTrackList); } static int getScoreFilter(char *trackName) /* check for score filter configuration setting */