]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
Mem_Realloc: allow the pool to be NULL in which case the block's previous pool is...
authordivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Wed, 6 Jun 2012 14:07:46 +0000 (14:07 +0000)
committerRudolf Polzer <divverent@alientrap.org>
Sun, 10 Jun 2012 17:08:18 +0000 (19:08 +0200)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@11825 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=51eb6a30cdd9bc1f8e3e6bfcfca87e22eafbf6fc

zone.c

diff --git a/zone.c b/zone.c
index 2f756d0ea803601a9d7d2ce64368f889516068d3..16386369c21c1694527a74f2a403457fa8f405d7 100644 (file)
--- a/zone.c
+++ b/zone.c
@@ -382,7 +382,12 @@ void *_Mem_Alloc(mempool_t *pool, void *olddata, size_t size, size_t alignment,
                return NULL;
        }
        if (pool == NULL)
-               Sys_Error("Mem_Alloc: pool == NULL (alloc at %s:%i)", filename, fileline);
+       {
+               if(olddata)
+                       pool = ((memheader_t *)((unsigned char *) olddata - sizeof(memheader_t)))->pool;
+               else
+                       Sys_Error("Mem_Alloc: pool == NULL (alloc at %s:%i)", filename, fileline);
+       }
        if (mem_mutex)
                Thread_LockMutex(mem_mutex);
        if (developer_memory.integer)