fc686a6393efdad7e0b20c4e4718c127de80420e braney Fri Mar 24 17:04:28 2023 -0700 properly clone the trackDb errMessage pointer for trackDb caching diff --git src/hg/lib/trackDbCache.c src/hg/lib/trackDbCache.c index 40f2751..9408dd7 100644 --- src/hg/lib/trackDbCache.c +++ src/hg/lib/trackDbCache.c @@ -92,30 +92,31 @@ struct trackDb *newTdb = lmAlloc(lm, sizeof(struct trackDb)); *newTdb = *tdb; if (tdb->subtracks) newTdb->subtracks = lmCloneTdbList(lm, tdb->subtracks, newTdb, NULL); if ((tdb->parent != NULL) && (superHash != NULL)) { newTdb->parent = lmCloneSuper(lm, newTdb, superHash); } else newTdb->parent = parent; newTdb->track = lmCloneString(lm, tdb->track); +newTdb->errMessage = lmCloneString(lm, tdb->errMessage); newTdb->table = lmCloneString(lm, tdb->table); newTdb->shortLabel = lmCloneString(lm, tdb->shortLabel); newTdb->longLabel = lmCloneString(lm, tdb->longLabel); newTdb->type = lmCloneString(lm, tdb->type); if ( newTdb->restrictCount ) { lmAllocArray(lm, newTdb->restrictList, newTdb->restrictCount); int ii; for(ii=0; ii < newTdb->restrictCount; ii++) newTdb->restrictList[ii] = lmCloneString(lm, tdb->restrictList[ii]); } newTdb->url = lmCloneString(lm, tdb->url); newTdb->html = lmCloneString(lm, tdb->html); newTdb->grp = lmCloneString(lm, tdb->grp); newTdb->parentName = lmCloneString(lm, tdb->parentName);