Repair missing MEMORY_CONTEXT_CHECKING logic for realloc().
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Jul 2000 05:15:20 +0000 (05:15 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Jul 2000 05:15:20 +0000 (05:15 +0000)
Doesn't anyone around here run regression tests before submitting
patches, or before committing them?

src/backend/utils/mmgr/aset.c

index 6c6f58b0222b355e8a25a6fafa879ea346796d86..12affe6731faad5ed1e526f6f4261bcb4d7ec23d 100644 (file)
@@ -11,7 +11,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/utils/mmgr/aset.c,v 1.30 2000/07/12 02:37:23 tgl Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/utils/mmgr/aset.c,v 1.31 2000/07/12 05:15:20 tgl Exp $
  *
  * NOTE:
  * This is a new (Feb. 05, 1999) implementation of the allocation set
@@ -696,7 +696,17 @@ AllocSetRealloc(MemoryContext context, void *pointer, Size size)
     */
    oldsize = AllocPointerGetSize(pointer);
    if (oldsize >= size)
+   {
+#ifdef MEMORY_CONTEXT_CHECKING     
+       AllocChunk  chunk = AllocPointerGetChunk(pointer);
+
+       /* mark memory for memory leak searching */
+       memset(((char *) chunk) + (ALLOC_CHUNKHDRSZ + size), 
+               0x7F, chunk->size - size);
+       chunk->data_size = size;
+#endif
        return pointer;
+   }
 
    if (oldsize >= ALLOC_BIGCHUNK_LIMIT)
    {
@@ -711,7 +721,6 @@ AllocSetRealloc(MemoryContext context, void *pointer, Size size)
        AllocBlock  block = set->blocks;
        AllocBlock  prevblock = NULL;
        Size        blksize;
-
 #ifdef MEMORY_CONTEXT_CHECKING     
        Size        data_size = size;
 #endif