git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: badce86)
Repair missing MEMORY_CONTEXT_CHECKING logic for realloc().
2000年7月12日 05:15:20 +0000 (05:15 +0000)
2000年7月12日 05:15:20 +0000 (05:15 +0000)
Doesn't anyone around here run regression tests before submitting
patches, or before committing them?


diff --git a/src/backend/utils/mmgr/aset.c b/src/backend/utils/mmgr/aset.c
index 6c6f58b0222b355e8a25a6fafa879ea346796d86..12affe6731faad5ed1e526f6f4261bcb4d7ec23d 100644 (file)
--- a/src/backend/utils/mmgr/aset.c
+++ b/src/backend/utils/mmgr/aset.c
@@ -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
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /