[cig-commits] r4830 - in long/3D/Gale/trunk/src/StGermain: . Base/Container/src

walter at geodynamics.org walter at geodynamics.org
Wed Oct 11 13:46:24 PDT 2006


Author: walter
Date: 2006-10-11 13:46:24 -0700 (Wed, 11 Oct 2006)
New Revision: 4830

Modified:
   long/3D/Gale/trunk/src/StGermain/
   long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.c
   long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.h
Log:
 r2887 at earth:  boo | 2006-10-11 13:42:31 -0700
  r2803 at earth (orig r3791):  RaquibulHassan | 2006-09-11 00:58:48 -0700
  * Changing a function prototype.
  * Adding a validation check to MemoryPool_DeleteObject
  
  
 



Property changes on: long/3D/Gale/trunk/src/StGermain
___________________________________________________________________
Name: svk:merge
   - 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:2886
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3790
   + 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:2887
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3791

Modified: long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.c	2006-10-11 20:46:21 UTC (rev 4829)
+++ long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.c	2006-10-11 20:46:24 UTC (rev 4830)
@@ -168,9 +168,18 @@
 	return (void*)(memPool->pool[--memPool->numElementsFree]);
 }
 		
-void MemoryPool_DeleteObject( MemoryPool *memPool, void *object )
+Bool MemoryPool_DeleteObject( MemoryPool *memPool, void *object )
 {
-	memset( (char*)object, 0, memPool->elementSize );
-	memPool->pool[memPool->numElementsFree++] = (char*)object;
+	if( 	( object != NULL ) &&
+			((char*)object >= memPool->elements) &&
+			( (char*)object < (memPool->elements + memPool->elementSize * memPool->numElements) ) ){
+		
+		memset( (char*)object, 0, memPool->elementSize );
+		memPool->pool[memPool->numElementsFree++] = (char*)object;
+		return 1;
+	}
+	else{
+		return 0;
+	}
 }
 

Modified: long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.h	2006-10-11 20:46:21 UTC (rev 4829)
+++ long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.h	2006-10-11 20:46:24 UTC (rev 4830)
@@ -96,7 +96,7 @@
 	
 	void *MemoryPool_NewObjectFunc( SizeT elementSize, MemoryPool *memPool );
 		
-	void MemoryPool_DeleteObject( MemoryPool *memPool, void *object );
+	Bool MemoryPool_DeleteObject( MemoryPool *memPool, void *object );
 	
 	/** Private Functions */
 	



More information about the cig-commits mailing list