diff --git a/src/backend/utils/mmgr/aset.c b/src/backend/utils/mmgr/aset.c index ef10bb1690..740729b5d0 100644 --- a/src/backend/utils/mmgr/aset.c +++ b/src/backend/utils/mmgr/aset.c @@ -1024,10 +1024,8 @@ AllocSetFree(void *pointer) #ifdef MEMORY_CONTEXT_CHECKING { - Size chunk_size = block->endptr - (char *) pointer; - /* Test for someone scribbling on unused space in chunk */ - Assert(chunk->requested_size < chunk_size); + Assert(chunk->requested_size < (block->endptr - (char *) pointer)); if (!sentinel_ok(pointer, chunk->requested_size)) elog(WARNING, "detected write past chunk end in %s %p", set->header.name, chunk); diff --git a/src/backend/utils/mmgr/generation.c b/src/backend/utils/mmgr/generation.c index 93825265a1..ebcb61e9b6 100644 --- a/src/backend/utils/mmgr/generation.c +++ b/src/backend/utils/mmgr/generation.c @@ -629,7 +629,8 @@ GenerationFree(void *pointer) MemoryChunk *chunk = PointerGetMemoryChunk(pointer); GenerationBlock *block; GenerationContext *set; -#if defined(MEMORY_CONTEXT_CHECKING) || defined(CLOBBER_FREED_MEMORY) +#if (defined(MEMORY_CONTEXT_CHECKING) && defined(USE_ASSERT_CHECKING)) \ + || defined(CLOBBER_FREED_MEMORY) Size chunksize; #endif @@ -644,7 +645,8 @@ GenerationFree(void *pointer) if (!GenerationBlockIsValid(block)) elog(ERROR, "could not find block containing chunk %p", chunk); -#if defined(MEMORY_CONTEXT_CHECKING) || defined(CLOBBER_FREED_MEMORY) +#if (defined(MEMORY_CONTEXT_CHECKING) && defined(USE_ASSERT_CHECKING)) \ + || defined(CLOBBER_FREED_MEMORY) chunksize = block->endptr - (char *) pointer; #endif } @@ -659,7 +661,8 @@ GenerationFree(void *pointer) */ Assert(GenerationBlockIsValid(block)); -#if defined(MEMORY_CONTEXT_CHECKING) || defined(CLOBBER_FREED_MEMORY) +#if (defined(MEMORY_CONTEXT_CHECKING) && defined(USE_ASSERT_CHECKING)) \ + || defined(CLOBBER_FREED_MEMORY) chunksize = MemoryChunkGetValue(chunk); #endif }