a2a57a6247e93612140baa899ddb3c462af8f12e braney Wed Jan 15 23:37:27 2020 -0800 mark hashes that are coming in from trackDb cache so they don't get freed diff --git src/hg/lib/trackDbCache.c src/hg/lib/trackDbCache.c index d2e9a0b..dd4046c 100644 --- src/hg/lib/trackDbCache.c +++ src/hg/lib/trackDbCache.c @@ -61,31 +61,31 @@ hel->name = lmCloneString(lm, list->name); hel->val = lmCloneString(lm, (char *)list->val); // we're assuming that the values are strings hel->hashVal = list->hashVal; } return newList; } struct hash *lmCloneHash(struct lm *lm, struct hash *hash) /* Clone a hash into local memory. */ { struct hash *newHash = lmAlloc(lm, sizeof(struct hash)); *newHash = *hash; newHash->lm = NULL; -newHash->ownLm = FALSE; +newHash->ownLm = TRUE; // mark as having been read in from trackDb cache newHash->next = NULL; lmAllocArray(lm, newHash->table, hash->size); int ii; for(ii=0; ii < hash->size; ii++) if (hash->table[ii] != NULL) newHash->table[ii] = lmCloneHashElList(lm, hash->table[ii]); return newHash; } struct trackDb *lmCloneTdb(struct lm *lm, struct trackDb *tdb, struct trackDb *parent, struct hash *superHash) /* clone a single tdb structure. Will clone its children if it has any */ { struct trackDb *newTdb = lmAlloc(lm, sizeof(struct trackDb));