From 3adcc033f6d36957e4f67a94465aa551e07bda2c Mon Sep 17 00:00:00 2001 From: Mukund Sivaraman Date: Wed, 9 May 2018 11:51:22 +0530 Subject: [PATCH] Don't keep around debuglist structs when done --- lib/isc/mem.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/lib/isc/mem.c b/lib/isc/mem.c index a5f88c5c8f..ff541d5416 100644 --- a/lib/isc/mem.c +++ b/lib/isc/mem.c @@ -395,17 +395,6 @@ add_trace_entry(isc__mem_t *mctx, const void *ptr, size_t size FLARG) { hash = isc_hash_function(&ptr, sizeof(ptr), ISC_TRUE, NULL); idx = hash % DEBUG_TABLE_COUNT; - dl = ISC_LIST_TAIL(mctx->debuglist[idx]); - if (ISC_LIKELY(dl != NULL && dl->ptr == NULL)) { - ISC_LIST_UNLINK(mctx->debuglist[idx], dl, link); - dl->ptr = ptr; - dl->size = size; - dl->file = file; - dl->line = line; - ISC_LIST_PREPEND(mctx->debuglist[idx], dl, link); - return; - } - dl = malloc(sizeof(debuglink_t)); INSIST(dl != NULL); mctx->malloced += sizeof(debuglink_t); @@ -444,14 +433,11 @@ delete_trace_entry(isc__mem_t *mctx, const void *ptr, size_t size, idx = hash % DEBUG_TABLE_COUNT; dl = ISC_LIST_HEAD(mctx->debuglist[idx]); - while (ISC_LIKELY(dl != NULL && dl->ptr != NULL)) { + while (ISC_LIKELY(dl != NULL)) { if (ISC_UNLIKELY(dl->ptr == ptr)) { ISC_LIST_UNLINK(mctx->debuglist[idx], dl, link); - dl->ptr = NULL; - dl->size = 0; - dl->file = NULL; - dl->line = 0; - ISC_LIST_APPEND(mctx->debuglist[idx], dl, link); + mctx->malloced -= sizeof(*dl); + free(dl); return; } dl = ISC_LIST_NEXT(dl, link);