From: Mukund Sivaraman Date: Fri, 27 Mar 2015 17:39:28 +0000 (+0530) Subject: Some cleanups in isc mem code (#38896) X-Git-Tag: v9.11.0a1~902 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=fba894c98b8f3345a61932be6830993a059a211a;p=thirdparty%2Fbind9.git Some cleanups in isc mem code (#38896) --- diff --git a/CHANGES b/CHANGES index fbcc8321d2d..e8744e692eb 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +4091. [cleanup] Some cleanups in isc mem code. [RT #38896] + 4090. [bug] Fix a crash while parsing malformed CAA RRs in presentation format, i.e., from text such as from master files. Thanks to John Van de diff --git a/lib/isc/mem.c b/lib/isc/mem.c index 669ea2a3763..d82e245638d 100644 --- a/lib/isc/mem.c +++ b/lib/isc/mem.c @@ -649,7 +649,7 @@ mem_getunlocked(isc__mem_t *ctx, size_t size) { size_t new_size = quantize(size); void *ret; - if (size >= ctx->max_size || new_size >= ctx->max_size) { + if (new_size >= ctx->max_size) { /* * memget() was called on something beyond our upper limit. */ @@ -730,7 +730,7 @@ static inline void mem_putunlocked(isc__mem_t *ctx, void *mem, size_t size) { size_t new_size = quantize(size); - if (size == ctx->max_size || new_size >= ctx->max_size) { + if (new_size >= ctx->max_size) { /* * memput() called on something beyond our upper limit. */ @@ -1067,11 +1067,17 @@ destroy(isc__mem_t *ctx) { if (ctx->checkfree) { for (i = 0; i <= ctx->max_size; i++) { + if (ctx->stats[i].gets != 0U) { + fprintf(stderr, + "Failing assertion due to probable " + "leaked memory in context %p (\"%s\") " + "(stats[%u].gets == %lu).\n", + ctx, ctx->name, i, ctx->stats[i].gets); #if ISC_MEM_TRACKLINES - if (ctx->stats[i].gets != 0U) print_active(ctx, stderr); #endif - INSIST(ctx->stats[i].gets == 0U); + INSIST(ctx->stats[i].gets == 0U); + } } }